1、c语言编写,开源的BSD许可 k-v NOSQL数据库,数据存于内存、支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案
2、支持数据类型:字符串、列表、集合、散列表、有序集合
3、Redis能读的速度是110000次/s,写的速度是81000次/s
4、Redis适合的场景主要局限在较小数据量的高性能操作和运算上
5、应用:计算器、缓存、会话缓存、全页缓存(FPC)、查找表、消息队列(发布/订阅功能)、分布式锁实现、交集、并集等操作
6、持久化:RDB(默认开启,生成时间快照,数据安全性低)、AOF(默认关闭,每次命令记录(appendfsync属性配置))
AOF文件比RDB更新频率高,优先使用AOF还原数据。
AOF比RDB更安全也更大
RDB性能比AOF好
如果两个都配了优先加载AOF
7、过期删除策略:定时删除、定期删除、惰性删除,redis选择后两种策略
8、内存不足时淘汰策略(maxmemory-policy属性设置):
volatile-lru
allkeys-lru
volatile-lfu
allkeys-lfu
volatile-random
allkeys-random
volatile-ttl
noeviction(默认)
volatile:从server.db[i].expires(设置了过期时间的数据集)中随机取几个数据,
allkeys:从server.db[i].dict(所有数据集)中随机取几个数据
9、事务:
Redis的事务总是具有ACID中的一致性和隔离性,其他特性是不支持的。当服务器运行在AOF持久化模式下,并且appendfsync选项的值为always时,事务也具有持久性
Redis中,单条命令是原子性执行的,但事务不保证原子性,且没有回滚。事务中任意命令执行失败,其余的命令仍会被执行。
redis学习总结
最新推荐文章于 2024-08-12 17:10:43 发布