Redis 一个内存数据库,通过 Key-Value 键值对的的方式存储数据。由于 Redis 的数据都存储在内存中,所以访问速度非常快,因此 Redis 大量用于缓存系统,存储热点数据,可以极大的提高网站的响应速度。
select 0 //选择0这个数据库
keys * //获取所有的键
keys ab* //获取以ab开头的键
exists listab //判断名为lsitab的键是否存在
del listab //删除名为lsitab的键
expire lsitab 10 //设置名为lsitab的键的过期时间为10秒 返回值 -1为永久 -2已经过期
ttl lsitab //查看键名为lsitab的
move lsitab 1 //移到数据库1
persist key //移除key的过期时间
flushdb //清除当前所在库的所有数据
flushall //清空所有库的数据
#=============string类型的命令================
set key value //设置一个键和值,键存在则只覆盖
get key //获取键的值
setnx key value // 设置一个不存在的键和值(防止覆盖),若键已存在则返回0表示失败
setex key time value // 设置一个指定有效期的键和值(单位秒)
setrange key 4 xx // 将name键对应值的第4个位置开始替换为xx
mset key1 value1 key2 value2 //批量创建键值
msetnx key1 value1 key2 value2 //批量创建键值;不存在的键和值(防止覆盖),若键已存在则返回0表示失败
getset key newvalue // 获取原值,设置新值
getrange key 0 4 //获取key指定0到4位置上的值
mget key1 key2 key3 //批量获取值
incr key //指定键的值做加加操作,返回加后的结果。
incrby key 1 //设置某个键加上指定值 假设key:2 那么2+1 =3
decr key //指定键的值做减减操作,返回减后的结果。
decrby key 2 //设置某个键减去指定值 假设key:2 那么2-1 =1
append key aa //给指定key的字符串追加value,返回新字符串值的长度 假设key :abc append后 key:abcaa
strlen key //返回key的长度
#=============hash类型的命令================
#=============python字典的json格式================
hset hash01 key value //设置一个哈希表的键和值
hget hash01 //获取执行hash的键值对
hsetnx hash01 key1 value1 //设置一个哈希表中不存在的键和值,成功返回1,失败返回0
hmset hash01 key2 value2 key3 value3 //批量设置
hmget hash01 key1 key2 key3 //批量获取值
hexists hash01 key1 //检测是否存在, 若存在返回1
hlen hash01 //获取hash01 名中键的数量
hdel hash01 key1 //删除hash01 中的key1
hkeys hash01 //返回hash01 的所有键
hvals hash01 //返回hash01 的所有值
hgetall hash01 //返回hash01 的所有键值对
#=============list列表类型的命令================
lpush list1 world // 从头部压入 world
lrange list1 0 -1 //获取list1中内容 0:表示开头 -1表示结尾。
rpush list2 world //在list2尾部压入world
lrange list2 0 -1 //获取list2中内容 0:表示开头 -1表示结尾。
linsert list2 before world hello //在key对应list2的特定位置前before或后after添加字符串
lset list2 1 "four" //修改指定索引位置上的值
lrem list2 2 world //删除前2 个world 值
lrem list2 -2 world //删除后2个world值
lrem list2 0 world //删除所有world值
ltrim list2 1 3 //删除1-3范围外的值
lpop list2 //从list2的头部删除元素,并返回删除元素
rpop list2 //从list2的尾部删除元素,并返回删除元素
rpoplpush list1 list2 // 将list1的尾部一个元素移出到list2头部。并返回
lindex list2 1 //返回list2中索引1位置上的元素
llen list2 //返回list2上长度
#=============set集合类型的命令================
sadd myset one //向myset中添加一个元素 成功返回1,失败(重复)返回0
smembers myset //获取myset中的所有元素(结果是无序的)
srem myset one //从myset中删除一个one 成功返回1,失败(不存在)返回0
spop myset //随机返回并删除myset中的一个元素
srandmember myset //随机获取myset中的一个元素,但是不删除
smove myset1 myset2 zhangsan //将myset1中zhangsan移动到myset2中
scard myset1 //返回myset1的个数
sismember myset zhangsan//判断zhangsan是否在myset中
sdiff myset myset2 //返回两个集合的差集
sdiffstore dstset myset myset2 // 返回所有集合的差集,并保存到dstset中
sinter myset1 myset2 myset3// 返回N个集合中的交集
sinterstore dstset myset1 myset2 myset3// 返回N个集合的交集并存储到dstset中
sunion myset1 myset2//返回所有集合的并集
sunion dstset myset1 myset2 // 返回所有集合的并集,并存储到dstset中
#=============Sortset有序集合类型的命令================
zadd zset 1 one // 向zset中添加one,排序为1排序
zrem zset one //删除zset中one
zincrby zset 2 one //如果one存在,则顺序增加2,如果one不存在,那么就是2
zrank zset one //返回one在zset中排名(从小到大的排序)
zrevrank zset one //返回one在zset中排名(从大到小的排序)
zrange zset 0 -1 withscores //根据score排序(根据score从小到大排序)
zrevrange zset 0 -1 withscores//根据score排序(根据score从大到小排序)
zrangebyscore zset 2 5 withscores//返回集合中score在给定区间的元素(包含2和5)
zcount zset 2 3 //返回集合中给定区间的数量
zcard zset//返回集合中元素的个数
zscore zset one//返回one元素的score
zremrangebyrank zset 3 3//删除集合中排名在给定区间的元素
zremrangebyscore zset 1 2//将zset中从小到大排序结果的score在1-2之间的删除