一.使用redis有哪些好处?
1.速度快,因为数据是存在内存中的。
2.支持丰富的数据类型,string,list,set,sorted set,hash
3.支持事务,操作都有原子性,也就是对数组的更改要么不执行,要么全部执行。
4.丰富的特性:可用于缓存,消息,按key设置过期时间,过期后自动删除。
二.redis相比memcached有哪些优势
1.memcached所有的值均是简单的字符串,redis作为代替者支持更加丰富的特性
2.redis的速度比memcached的快得多
3.redis可以持久化数据
三.mysql里面有2000万条数据,redis中只存20w数据,如何保证redis中的数据都是热点数据。
redis内存数据集大小上升到了一定大小的时候,就会实行数据淘汰策略。
redis有六种数据淘汰策略:
1.volatile-lru:从已设置过期时间的数据集(sever.db[i].expires)中挑选最近最少使用的数据进行淘汰。
2.volatile-ttl:从已设置过期时间的数据集(sever.db[i].expires)中挑选将要过期的数据进行淘汰掉。
四.memcache和redis的区别?
1.存储方式,
memcache把数据全部存储在内存之中,断电后会挂掉,数据不能超过内存的大小
redis有部分存储在硬盘中,这样能保证数据的持久性。
2.数据的支持类型
memcache对数据类型的支持非常简单,只是string
redis支持的数据类型非常丰富,string,list,set,sorted set,hash.
3.使用底层模式不一样
使用到通信模式不一样,redis直接构建了vm机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4.value的大小不一样
redis最大可以达到1G,而memcache只有1M