redis命中率计算

redis提供了INFO这个命令,能够随时监控服务器的状态,只用telnet到对应服务器的端口,执行命令即可:
引用
telnet localhost 6379 
info

在输出的信息里面有这几项和缓存的状态比较有关系:
引用
keyspace_hits:14414110 
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

猜你喜欢

转载自rd-030.iteye.com/blog/2395058
今日推荐