redis是存储在内容的nosql数据库。
字符串
set key value
设置普通的变量
get key
获取键的内容
del key
删除键
列表
lpush key value value value
添加一个列表,从左边添加
rpush key value value value
添加一个列表,从右边添加
lrange key start_index end_index
遍历列表
lpop key
从左边删除列表的第一个值,并且将删除内容返回
rpop key
从右边删除列表的第一个值,并且将删除内容返回
ltrim key start_index end_index
删除列表的start和end之外的内容
set
无序集合,同一个内容只能出现一次
sadd key value value value
添加集合
SMEMBERS key
返回集合的所有内容
SPOP key
移除并返回集合中的一个随机元素
SDIFF key1 [key2]
返回第一个集合与其他集合之间的差异
有序集合(sorted set)
zadd key score value score value score value
根据分数进行升序排列
zrange key start end
遍历
ZREVRANGE key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到低
hash
hset key key value key value
添加一个hash
hget key key
获得这个hash下的一个
HGETALL key
获取在哈希表中指定 key 的所有字段和值
HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。
HDEL key field1 [field2]
删除一个或多个哈希表字段
订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
SUBSCRIBE channel [channel …]
订阅给定的一个或多个频道的信息。
PUBLISH channel message
将信息发送到指定的频道。
UNSUBSCRIBE [channel [channel …]]
指退订给定的频道。
事务
MULTI 开始,最后由 EXEC 命令触发事务, 一并执行事务中的所有命令。
持久化
因为他是基于内存的,如果服务器关闭,或者停电了,内容就会丢失。所以需要生成快照来保证数据的不丢失。
save命令可以直接在文件夹中生成快照。但是在内存空间大的时候,生成快照的时间也会变长,而save命令执行阶段,redis不能再接收其他的请求。所以,redis提供了一个新命令。bgsave。
他会生成一个子进程去生成快照文件。而不影响主进程的操作。
还有一种aof操作方法,这里不具体讲了。