随笔分类 - 中间件
摘要:RabbitMQ提供了三种类型的队列: Classic Quorum Stream 官方文档 对于流队列的描述是:高性能、可持久化、可复制、非破坏性消费、只追加写入的日志 使用场景: 一个队列将同一条消息分发给不同消费者 可重复消费消息 更高的性能 存储大量消息而不影响性能 更高的吞吐 基本使用 生
阅读全文
摘要:本文用于演示如何在本地使用Docker搭建RabbitMQ集群。 erlang cookie erlang节点间通讯需要具有相同的erlang cookie值,erlang cookie的值在.erlang.cookie文件中,位置在家目录下, 通常是/var/lib/rabbitmq。这里通过Do
阅读全文
摘要:常用限流算法有漏桶算法和令牌桶算法,本文借助Redis的redis_cell模块来实现令牌桶算法限流。 构建镜像并启动容器 FROM redis:latest ARG cell_dir=/lib/redis_modules/redis_cell RUN mkdir -p ${cell_dir} WO
阅读全文
摘要:Redis中提供了原子性命令SETEX或SET来写入STRING类型数据并设置Key的过期时间: > SET key value EX 60 NX ok > SETEX key 60 value ok 但对于HASH结构则没有这样的命令,只能先写入数据然后设置过期时间: > HSET key fie
阅读全文
摘要:基本原则 只应将热数据放到缓存中 所有缓存信息都应设置过期时间 缓存过期时间应当分散以避免集中过期 缓存key应具备可读性 应避免不同业务出现同名缓存key 可对key进行适当的缩写以节省内存空间 选择合适的数据结构 确保写入缓存中的数据是完整且正确的 避免使用耗时较长的操作命令,如:keys *
阅读全文
摘要:开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis是一种基于内存的高性能非关系型数据库,它以kye-value的形式来存储数据。 核心对象 Redis
阅读全文