随笔分类 - redis
摘要:setnx原子命令 设置key 和value 和过期时间 设置key value 且1秒后过期 设置成功返回ok 设置失败返回null set key4 uuid2 ex 1 nx
阅读全文
摘要:redis主从架构 主负责写,从负责读 redis replication redis主从架构-》读写分离架构-》可支持水平扩展的度高并发架构 1.redis采用异步的方式复制数据到slave节点,redis 2.8开始slave node会周期性的确认自己每次复制的数据量 2.slave节点用旧的
阅读全文
摘要:redis和数据库一致性问题 1.保证redis和数据库数据一致性,一般采取最终一致性做法。如果要强一致性,这个性能基本就不行了。 redis 没有缓存更新命令,倒是可以用添加命令对value进行覆盖。不过我们一般不这样做。 因为比如一个缓存1分钟跟新100次,这个时候redis也会更新100次,可
阅读全文
摘要:redis事务 redis不支持事务回滚,但是他会检查每一个事务中的命令是否错误。 redis不支持检测那些由程序员造成的逻辑错误,比如对string类型的数据用了对hash数据的操作命令 multi命令:开启一个事务,它总是返回ok。multi执行之后,客户端可以继续向服务器发送任意多条命令,这些
阅读全文
摘要:一、节点间的内部通信机制 1、基础通信原理 (1)redis cluster节点间采取gossip协议进行通信 跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在莫个节点上,而是互相之间不断通信,保持整个集群所有节点的数据是完整的 集中式:好处在于,元数据的更新和读取,时效性非常号,一
阅读全文
摘要:redis缓存击穿,穿透,雪崩 redis缓存雪崩 缓存雪崩是指,有大量的缓存在同一时刻过期或者redis宕机,造成大量的请求打入数据库 解决方案: redis设置过期时间尽量分散,设置随机过期时间。 事前:保证高可用,集群搭建,主从+哨兵,读写分离,cluster集群 事中:本地ehcache缓存
阅读全文
摘要:1.第一步,修改redis配置文件内容 notify-keyspace-events "Ex" 2.项目导入redis依赖 <!-- Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri
阅读全文
摘要:redis hash结构 1.压缩列表 压缩列表是 Redis 数据类型为 list 和 hash 的底层实现之一。 当一个列表键(list)只包含少量的列表项,并且每个列表项都是小整数值,或者长度比较短的字符串,那么 Redis 就会使用压缩列表作为列表键(list)的底层实现。 当一个哈希键(h
阅读全文
摘要:redis SDS 3.0 len 已经使用空间长度free 未使用空间长度char[] buf 字符数组,保存数据,末尾和c语言字符串一样添加‘\0’ 1.空间预分配 当数据小于1MB时,扩展数据,这个时候buf数组会产生一个和len长度一样的free空间, buf占用空间为 len + free
阅读全文