Redis知识点梳理
-
什么是redis
redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成的,因此读写速度非常快,常用于缓存,消息队列,分布式锁等场景
redis提供了多种数据类型来支持不同的业务场景,比如String(字符串),Hash(哈希),List()列表,Set(集合)并且对数据类型的操作都是原子性的,因为执行命令由单线程负责,不存在并发竞争的问题
Redis还支持事物,持久化,Lua脚本,多种集群方案(主从复制模式,哨兵模式,切片集群模式),发布订阅模式,内存淘汰模式,过期删除机制等等
-
Redis和Memcached有什么区别?
redis和Memcached共同点:
-
都是基于内存的数据库,一般都用来当作缓存使用
-
都有过期策略
-
两者性能都非常高
redis和Memcached的区别:
-
redis支持的数据类型更丰富 Memcached只支持key value
-
redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memcached没有持久话功能,数据全部存在内存之中,重启或挂掉会导致数据丢失
-
redis原生支持集群模式,Memcached没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据
-
redis支持发布订阅模型,Lua脚本,事务等功能,而Memcached不支持
-