redis相关知识
redis常用命令
key操作
- DEL:删除key,del key1 key2
- EXISTS:检查key是否存在,exists key
- EXPIRE:设置或更新到期时间,到期后自动清除,单位秒,设置为-1表示永不过期。expire key
- TTL:以秒为单位,返回给定key的剩余生存时间
- KEYS:查看所有key
String操作
- GET:获取
- SET:设置
- SETNX:只有在key不存在时设置value。就是新增一个(不包含更新)
Hash操作
- HMSET key field value [field value …]:同时将多个field-value(域-值)对设置到哈希表key中
- HSET key field value:将哈希表key中的域field的值设置为value
- HMGET key field [field …]:返回哈希表key中一个或多个给定域的值
- HGET key field:返回哈希表key中给定域field的值
List操作
LINDEX key index:通过索引获取列表中的元素
LPUSH key value1 [value2]:将一个或多个值插入到列表头部
RPUSH key value1 [value2]:在列表中添加一个或多个值
LRANGE key start stop:获取列表指定范围内的元素
Set操作
- SADD key member [member …]:将一个或多个member元素加入到集合key当中
- SMEMBERS key:返回集合中的所有成员
Zset操作
- ZADD key score1 member1 [score2 member2]:向有序集合添加一个或多个成员
pub/sub模式的消息通知(发布/订阅模式)
类似于微博、微信的公众号
redis内部通过两个命令来实现pub/sub模式的消息通知:
- publish 主题名称 消息内容 (向指定主题中发送一下消息)
- subscribe 主题名称 (订阅某一个主题)
当key失效时,会发送一些通知。可以通过订阅某一个主题,接受key失效的消息通知(此通知是redis内部的事件处理机制),要想做到这件事,需要完成下面两件事:
- 开启事件通知(修改redis启动的配置文件)
- 需要订阅的主题名称:
[email protected]__:expired
存储到的redis服务器:0号数据库
订阅的主题:[email protected]__:expired
示例图片如下:
上面为订阅者,下面为发布者。