一、定义:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
二、使用指令
2.1、启动Redis服务和客户端
在Windows下安装好Redis之后,要启动Redis客户端(redis-cli)的话,首先要启动Redis 服务(redis-server)。
先进入Redis安装路径,输入cmd进入命令窗口,输入:redis-server,如图1所示,则表示启动Redis服务,
然后再进入第二个cmd窗口,输入:redis-cli ,启动客户端,如下图2所示,其中set表示存值,get表示取值。
2.2、指令
ping : 判断和Redis服务器是否连通,pong表示连通
config get requirepass : 获取默认密码,下图表示当前库不存在密码,为空
config set requirepass xxx : 设置密码,设置密码好后再执行 config get requirepass 获取默认密码,发现需要验证,执行 auth xxx 就好了
echo xxx : 打印给定的字符串
quit : 退出客户端,退出后目录结构都变了 ,重新登陆的话执行 redis-cli 进入客户端 , 再进行验证密码
keys * :显示所有的键
select index : 默认是0号数据库,例如:执行select 1 ,则会跳到一号数据库
del key : 删除键,key是键名
dump key : 序列化指定的键
expire key seconds : 设置键的过期时间,秒为单位,超过时间就会删除该键,例如: expire aaa 5,表示aaa键5s后删除
move key db : 移动键到别的库,例如: move bbb 1,把bbb键移动到1号数据库
Pttl :命令以毫秒为单位返回 key 的剩余过期时间
TTL :命令以秒为单位返回 key 的剩余过期时间
三、Redis发布/订阅
Redis发布/订阅(pub/sub)是一种消息通信模式,发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
用的比较多的是 :将信息发送到指定的频道、订阅给定的一个或多个频道的信息。
示例:发布订阅是如何工作的,需要至少开启两个 redis-cli 客户端
第一个 redis-cli 客户端创建了订阅频道名为 chat1 (指令 :SUBSCRIBE 频道名):
第二个 redis-cli 客户端(PUBLISH 频道名 信息内容)在相同频道发布消息,订阅者就能接收到消息: