一、String
设置一条数据:set key value
设置数据并设置过期时间:setex key 秒 value
根据key获取数据:get key
获取对应key值的长度:strlen key
对key值进行拼接:append key value
如果不存在设置值,存在不设置:setnx key value
判断key是否存在:exists key
一次设置多个值:mset key value key value;一次性获取多个值:mget key key
获取范围的值:getrange key start end;设置范围的值:setrange key start value
设置新值返回旧值:getset key value
对数值增1操作:incr key;对数值减1操作:decr key
对数值增data操作:incrby key data;对数值减data操作:decrby key data
二、Hash
设置一个值:hset key fileld value;获取值:hget key fileld
设置多个值:hmset key fileld value filedl value;获取多个值:hmget key fileld fileld
获取所有的key-value值:hgetall key
获取hash所有的field:hkeys key;获取hash所有的value值:hvals key
删除hash一个或多个filedl字段:hdel key field filed
指定hash字段是否存在:hexists key
获取hash字段的数量:hlen key
hash中某字段自增:hincr key fileld
只有在字段 field 不存在时,设置哈希表字段的值: hsetnx key fileld value
三、List
将一个元素或多个元素增到列表的头部,返回个数:lpush key value
将一个元素或多个元素增到列表的尾部,返回个数:rpush key value
获取列表中的数据:lrange key start end
在列表某个值前面或后面插入一个新值:linsert key before/after value 新value
获取列表对应索引的值:lindex key index
设置列表对应索引的值:lset key index value
删除列表某个元素:lrem key count value
保留列表范围内的数据:ltrim key start end
从列表头部取出一个元素:lpop key;从列表尾部取出一个元素:rpop key
获取列表的数量:llen
从第一个列表尾部移除一个元素并且添加到第二个列表中头部:rpoplpush list1 list2
四、Set
往集合中添加元素,不允许重复:sadd key value value
查看集合中的元素:smembers key
删除集合中的元素:srem key value
随机删除集合中的某一个或多个元素:spop key [count]
随机获取集合中的某一个或多个元素:srandmember key [count]
查看集合元素的个数:scard key ;判断某个元素是否在集合中:sismember key value
获取俩个集合的差集:sdiff list1 list2 前者-后者
获取俩个集合的交集:sinter key1 key2
获取俩个集合的并集:sunion key1 key2
将key1和key2的差集赋值到key中:sdiffstore key key1 key2
五、sort set
添加一个元素:zadd key score value
获取元素的分数:zscore key value
升序获取元素,并携带分数:zrange key 0 -1 [withscores]
逆序获取元素:zrevrange ket start stop [withscores]
增加某个元素的分数:zincrby key increment member
获取元素的数量:zcard key;获取指定分数范围的元素个数:zcount key start end
删除一个或多个key:zrem key value value
按照排名删除元素:zremrangebyrank key start end
按照分数范围删除元素:zremrangebyscore key start end
获取元素的排名:zrank key value(升序),zrevrank key value(降序)
六、发布,订阅模式
订阅频道:subscribe 频道1 频道2
订阅通配符频道:psubscribe 通配符
发送消息:publish 频道名 消息
七、事务
常用命令:discard ,exec ,multi,unwatch,watch
将涉及到事务的命令放入到一个队列中,保证按照顺序执行,不会受到其他客户端的干扰
示例一:tom和mic各有1000,进行转账
exec提交事务,discard回滚事务
lua脚本实现事务
一次执行多个命令,减少网络开销;原子性;