分类: Redis

20 篇文章

Redis中的Reactor模型
Reactor模型 Reactor模型是网络服务器端用来处理高并发网络 IO 请求的一种编程模型。 处理三类事件 连接事件:客户端→服务器的连接请求,对应服务端的连接事件 写事件:客户端→服务器的读请求,服务端处理后要写回客户端,对应服务端的写事件 读事件:服务端要从客户端读取请求内容,对应服务端的…
Redis集群之cluster
分片集群的由来 Redis从单个节点的架构方式演变到主从模式,提高了数据的可靠性以及相对较弱的高可用性;从主从模式到哨兵模式将高可用性提升到了一个新的高地。但是无论是主从还是哨兵模式下的集群,其实都是单个节点在处理客户端的命令,也即是说主节点拥有着所有的数据。那么如果数据量太大就必然会导致内存的暴增…
Redis集群之哨兵
上一章我们讲如果Master宕机会导致部分数据未同步还会丧失写的功能。如何避免这种情况呢?哨兵登场了。 什么是哨兵 Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案,哨兵可以监视一个或者多个redis master服务,以及这些master服务的所…
Redis集群之主从
Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是「读写分离」的方式。 读操作:主库、从库都可以接收; 写操作:首先到主库执行,然后,主库将写操作同步给从库。 实操 我们先启动三个redis容器 docker run -d -p 5670:6379 --name redis-ma…
Redis数据过期和淘汰策略
Redis过期相关命令 Redis提供了四种命令来设置key的过期时间: EXPIRE key seconds // 设置多少秒后过期 EXPIREAT key timestamp 设置 key 过期时间的时间戳(unix timestamp) 以秒计 PEXPIRE key millisecond…
Redis内存统计
Redis提供内存统计命令,在客户端通过 redis-cli 连接服务器后,通过 info 命令可以查看内存使用情况:info memory。 127.0.0.1:6379> info memory # Memory used_memory:3223164040 #Redis分配的内存总量,即…
Redis为啥这么快
Redis是一种基于键值对(Key-Value)的NoSQL数据库,Redis的Value可以由String,hash,list,set,zset,Bitmaps,HyperLogLog等多种数据结构和算法组成。Redis还提供了键过期,发布订阅,事务,Lua脚本,哨兵,Cluster等功能。Red…
Redis分布式锁实现原理
命令 SET key value [NX] [XX] [EX <seconds>] [PX [millseconds]] 必选参数说明 SET:命令 key:待设置的key value: 设置的key的value 可选参数说明 NX:表示key不存在才设置,如果存在则返回NULL XX:…
Redis管道pipeline
redis 是 CS 模式,Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令,每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都…
教你个命令 KEYS *
KEYS 命令 Warning: consider KEYS as a command that should only be used in production environments with extreme care. It may ruin performance when it is …