一、基本概念 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能
前言 为什么不使用 spring cache? 最开始使用的spring cache,但是由于springcache只支持全局的缓存过期时间设置,不支持单个设置缓存过期时间,且jetcache支持三种缓存方式LOCAL/REMOTE/BOTH 三种选择, 分别代表本地内存/远程
在日常开发中,我们使用 Redis 存储 key 时通常会设置一个过期时间,但是 Redis 是怎么删除过期的 key,而且 Redis 是单线程的,删除 key 会不会造成阻塞。要搞清楚这些,就要了解 Redis 的过期策略和内存淘汰机制。 Redis采用的是定期删除 + 懒惰
1、使用crc16算法对key进行hash 2、将hash值对16384取模,得到具体的槽位 3、根据节点和槽位的映射信息(与集群建立连接后,客户端可以取得槽位映射信息),找到具体的节点地址 4、去具体的节点找key 如果key不在这个节点上,则redis集群会返回moved指令