为了防止SQL过载,如果读到下面问题,可以考虑使用Redis
1. 读写频繁, (可以搞读写分离Master slave服务器,防止表锁得太久)
2. SQL计算大,数据更新没有这么频繁。
3. 我们使用redis来统计文章的访问量,生成昨天点击排行,本月点击排行等数据. (可以归类为2)
4. .Sorted Sets做一些交/并集运算(两个用户的好友列表 交集 得出共同好友等) (可以归类为2)
GoodInstructionhttp://blog.csdn.net/hguisu/article/details/8836819
吐槽一下百度搜索到的文章都是非法转载的文章,google就能搜到原版的博客好文章,百度虽好,但是有毒。
使用Redis,既然是内存数据库,就要考虑内存的问题。
既然是缓存,就要考虑初始化的时候没有任何数据的时候的场景,需不需要预热。
http://www.linuxidc.com/Linux/2015-02/113292.htm
如果你打开虚拟内存功能,当内存用尽时, Redis就会把那些不经常使用的数据存储到磁盘。
如果Redis里的虚拟内存被禁了,他就会用上操作系统的虚拟内存(交换内存),同时性能急剧下降。
你可以配置maxmemory参数,来避免Redis默认再分配更多的内存。
在较新版本的Redis配置文件中使用了特别的设置选项,当我需要回收内存的时候。
有5种选项规则:
- volatile-lru:在使用了过期设置的集合中,尝试删除一个最近没在用的键。
- volatile-tt:在使用了过期设置的集合中,尝试删除一个有较短expire时间的键。
- volatile-random:在使用了过期设置的集合中随机删除一个键。
- allkeys-lru:跟volatile-lru类似,但它会将每一种类型键都移除,不管是有效还是过期的只要设置了过期时间。
- allkeys-random:跟volatile-random类似,但它会将每一种类型键都移除,不管是有效还是过期的只要设置了过期时间。