引用
telnet localhost 6379
info
info
在输出的信息里面有这几项和缓存的状态比较有关系:
引用
keyspace_hits:14414110
keyspace_misses:3228654
used_memory:433264648
expired_keys:1333536
evicted_keys:1547380
keyspace_misses:3228654
used_memory:433264648
expired_keys:1333536
evicted_keys:1547380
通过计算hits和miss,我们可以得到缓存的命中率:14414110 / (14414110 + 3228654) = 81% ,一个缓存失效机制,和过期时间设计良好的系统,命中率可以做到95%以上
有个ruby gem叫redis-stat,它利用INFO命令展现出更直观的信息报表,推荐:
https://github.com/junegunn/redis-stat
参考:
http://blog.csdn.net/liuxiao723846/article/details/51445448
Redis集群搭建与简单使用
http://www.cnblogs.com/wuxl360/p/5920330.html
redis学习三,Redis主从复制和哨兵模式
http://blog.csdn.net/a347911/article/details/54094895
Redis-sentinel哨兵模式集群方案配置
http://blog.csdn.net/donggang1992/article/details/50981341
mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
两点建议:
1、MySQL可以通过使用时间戳对数据表进行分区,将热点数据聚集到一个分区,然后Redis只从这个表的分区中取数据
2、Redis本身有页面淘汰策略,选择合适的策略即可
http://blog.csdn.net/xsj_blog/article/details/70495418
http://blog.csdn.net/u012813201/article/details/76014167
http://blog.csdn.net/yajlv/article/details/73467865
关于 Redis 队列的一道面试题
http://jiasule.v2ex.com/t/261936
https://baijiahao.baidu.com/s?id=1588454565071211950&wfr=spider&for=pc
使用Redis SETNX 命令实现分布式锁
http://blog.csdn.net/lihao21/article/details/49104695
两种常见的缓存淘汰算法LFU&LRU
LRU和LFU是不同的!
LRU是最近最少使用页面置换算法(Least Recently Used),也就是首先淘汰最长时间未被使用的页面!
LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!
比如,第二种方法的时期T为10分钟,如果每分钟进行一次调页,主存块为3,若所需页面走向为2 1 2 1 2 3 4
注意,当调页面4时会发生缺页中断
若按LRU算法,应换页面1(1页面最久未被使用) 但按LFU算法应换页面3(十分钟内,页面3只使用了一次)
可见LRU关键是看页面最后一次被使用到发生调度的时间长短,
而LFU关键是看一定时间段内页面被使用的频率!
LRU算法适合:较大的文件比如游戏客户端(最近加载的地图文件)
LFU算法适合:较小的文件和教零碎的文件比如系统文件、应用程序文件
其中:LRU消耗CPU资源较少,LFU消耗CPU资源较多。
http://blog.csdn.net/summerhust/article/details/6867171
http://blog.csdn.net/jake_li/article/details/50659868