一、为什么使用 redis?
使用缓存的目的就是提升读写性能。为了提高读写性能,带来更高的并发量。减少对 MySQL 的请求量。
二、redis 有哪些好处?
- 读写速度快,因为数据存储在内存中,所以数据获取快。
- 支持多种数据结构。包括字符串、列表、集合、有序列表、哈希等。
- 支持事务,且操作遵守原子性,即对数据的操作要麽都执行、要麽都不执行。
- 还支持队列、主从复制、集群、数据持久化等功能。
三、redis 和 memcache 区别
- redis 和 memcache 都是将数据存储到内存中,都是内存数据库。
- memcache 仅支持 key-value 结构的数据类型。redis 支持多种数据类型:string、hash、set、zset、list 等等。
- redis 当物理内存用完时,可以将一些很久没用的 value 交换到磁盘。
- memcache 可以利用 magent 做出一主多从;redis 也可以做一主多从。
- memcache 挂掉之后数据就没有了;redis 可以定期保存数据到磁盘。
- memcache 单个 value 最大 1M; redis 的单个最大时 512M.
- memcache 挂掉之后数据不能恢复;redis 数据丢失后可以通过 aof 或者 rdb 恢复。
- memcache 网络 IO 模型是多线程,非阻塞 IO 复用的网络模型,原型上接进 nginx。redis 使用单线程的 IO 复用模型。