该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化
1、redis介绍
redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。
2、redis的应用场景有哪些
会话缓存(最常用)消息队列,比如支付活动排行榜或计数发布、订阅消息(消息通知)商品列表、评论列表等3、redis数据类型Redis一共支持五种数据类:string(字符串)、hash(哈希)、list(列表)、set(集合),zset(sorted set 有序集合)。
(1)string(字符串)它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。
(2)hash(哈希)redis hash是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象,你可以理解成PHP数组
(3)list(列表)是redis简单的字符串列表,它按插入顺序排序,数据结构里面的列队,先进先出
(4)set(集合)是string类型的无序集合,也不可重复
(5)zset(sorted set 有序集合)是string类型的有序集合,也不可重复,含有权重的集合
4、redis服务相关的命令
slect #选择数据库(数据库编号0-15)quit #退出连接info #获得服务的信息与统计monitor #实时监控config get #获得服务配置flushdb #删除当前选择的数据库中的keyflushall #删除所有数据库中的key
5、redis的发布与订阅
redis发布与订阅(pub/sub)是它的一种消息通信模式,一方发送信息,一方接收信息。下图是三个客户端同时订阅同一个频道
下图是有新信息发送给频道1时,就会将消息发送给订阅它的三个客户端
6、redis持久化
redis持久有两种方式:Snapshotting(快照),Append-only file(AOF)
#将存储在内存的数据以快照的方式写入二进制文件中,如默认dump.rdb中
save 900 1 #900秒内如果超过1个Key被修改,则启动快照保存
save 300 10 #300秒内如果超过10个Key被修改,则启动快照保存
save 60 10000 #60秒内如果超过10000个Key被修改,则启动快照保存
Append-only file(AOF)
使用AOF持久时,服务会将每个收到的写命令通过write函数追加到文件中(appendonly.aof)AOF持久化存储方式参数说明appendonly yes #开启AOF持久化存储方式
appendfsync always #收到写命令后就立即写入磁盘,效率最差,效果最好
appendfsync everysec #每秒写入磁盘一次,效率与效果居中
appendfsync no #完全依赖OS,效率最佳,效果没法保证
7、redis 性能测试
领取专属 10元无门槛券
私享最新 技术干货