redis基本数据结构使用与场景

string(字符串) 用法 # 给key设置value set [key] [value] # 根据key 获取 value get [key] # 根据key删除 del [key] # 判断是否存在指定key exists [key] # 批量存取键值对 mset [key1] [value1] [key2] [value2] # 根据key批量获取value mget [key1] [key2] # 给key设置对应的过期时间 单位:秒 expire [key] [time] # 等价于 set + expire 命令组合 setex [key] [time] [value] # 如果key不存在则set 创建,否则返回0 setnx [key] [value] # 如果value为整数 可用 incr命令每次自增1 incr [key] # 使用incrby命令对整数值 进行增加 number incrby [key] [number] 使用场景 存储key-value键值对,可以用做缓存 使用setnx 实现分布式锁 使用 incr 命令 用作计数器 分布式系统全局序列号 ...

October 20, 2022 · 6 min

“万金油”的String,为什么不好用了?

你好,我是蒋德钧。 从今天开始,我们就要进入“实践篇”了。接下来,我们会用 5 节课的时间学习“数据结构”。我会介绍节省内存开销以及保存和统计海量数据的数据类型及其底层数据结构,还会围绕典型的应用场景(例如地址位置查询、时间序列数据库读写和消息队列存取),跟你分享使用 Redis 的数据类型和 module 扩展功能来满足需求的具体方案。 ...

October 18, 2022 · 20 min

38 _ 通信开销:限制Redis Cluster规模的关键因素

你好,我是蒋德钧。 Redis Cluster 能保存的数据量以及支撑的吞吐量,跟集群的实例规模密切相关。Redis 官方给出了 Redis Cluster 的规模上限,就是一个集群运行 1000 个实例。 那么,你可能会问,为什么要限定集群规模呢?其实,这里的一个关键因素就是,实例间的通信开销会随着实例规模增加而增大,在集群超过一定规模时(比如 800 节点),集群吞吐量反而会下降。所以,集群的实际规模会受到限制。 ...

October 18, 2022 · 10 min

40 _ Redis的下一步:基于NVM内存的实践

你好,我是蒋德钧。 今天这节课是咱们课程的最后一节课了,我们来聊聊 Redis 的下一步发展。 这几年呢,新型非易失存储(Non-Volatile Memory,NVM)器件发展得非常快。NVM 器件具有容量大、性能快、能持久化保存数据的特性,这些刚好就是 Redis 追求的目标。同时,NVM 器件像 DRAM 一样,可以让软件以字节粒度进行寻址访问,所以,在实际应用中,NVM 可以作为内存来使用,我们称为 NVM 内存。 ...

October 18, 2022 · 9 min

41 _ 第35~40讲课后思考题答案及常见问题答疑

你好,我是蒋德钧。 今天是我们最后一节答疑课,我会带你一起分析一下第 35~40 讲的课后思考题。同时,我还会讲解两个典型问题,分别是原子操作使用问题,以及 Redis 和其他键值数据库的对比情况。 ...

October 18, 2022 · 8 min
总访问量 总访客数