Redis
子知识库
文章
24 监视器
通过执行MONITOR命令,客户端可以将自己变成一个监视器,实时接收并打印出服务器正在处理的命令请求的相关信息。 24.1 成为监视器123456789def MONITOR(): # 打开客户端的监视器标识 client.flags != REDIS_MONITOR # 将客户端添加到服务器状态的monitors链表的末尾 server.monitors.append(client) # 向客户端返回OK send+reply("OK") 24.2 向监视器发送命令信息服务器每次处理命令请求前,会调用replicationFeedMonitors函数,由它将被处理的命令的请求的相关信息发送给各个监视器。 12345678def replicationFeedMonitors(client, monitors, dbid, argv, argc): # 创建要发送的消息 msg = create_msg(client, dbid, argv, argc) # 遍历所有监视器 for monitor ...
附录1 面试问题
1 redis相比memcached有哪些优势? Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 3 redis常见性能问题和解决方案?(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次(3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内(4) 尽量避免在压力很大的主库上增加从库(5) 主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- Slave2 <- Slave3… 4 MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰...






