Redis基础
Redis基础
基础数据结构
REDIS_ENCODING_INT(long类型的整数)
REDIS_ENCODING_EMBSTR embstr (编码的简单动态字符串) < 44字节使用
REDIS_ENCODING_RAW (简单动态字符串)
REDIS_ENCODING_HT (字典)
REDIS_ENCODING_LINKEDLIST (双端链表)
REDIS_ENCODING_ZIPLIST (压缩列表)
REDIS_ENCODING_INTSET (整数集合)
REDIS_ENCODING_SKIPLIST (跳跃表和字典)
string: raw int embstr
hash: hashTable zipList
list: linkedList zipList
set: hashTable intset
zset: skiplist ziplist
各种类型的常用命令
连接
远程连接时,redis配置文件,需要将bind修改为指定的ip才能连接
redis-cli -h 138.138.138.138 -p 6379 -a password
通用指令
keys 不建议生产环境使用 O(n)
keys * 查出所有key
keys test? 查出所有test开头的5位字符,?表示一个字符
keys test* 查出test开头所有key
实际生产环节中可以使用。查询指定数量的key
SCAN 0 MATCH scxx* COUNT 200
dbsize 查询所有数据总数
exists key 判断key是否存在
return: 0 1
del key 删除某个key,可以一次性删除说个
return: 0 成功删除key的数量
expire key seconds 设置过期时间
ttl key 查询key剩余的过期时间
return: -1:没有过期时间 -2:key不存在
persist key 去掉过期时间
type key 判断key的类型
return: string,hash,list,zet,szet,none
string
get set del
incr decr 自增减1
incrby decrby 自增减自定义数字
setnx key不存在才设置
setxx key存在才设置
mset mget 批量操作
append 添加字符串 return: 新的字符串长度
strlen 字符串长度
getrange key start end 获取指定的字符串,下标从0开始
setrange key offset value 修改指定下标后的所有字符串
hash
hget hset hdel
hset key filed value
hgetall 获取的所有和filed和value
hexists 判断某个filed是否存在
hlen 获取filed的数量
hmget hmset 批量操作
hsetnx 存在则新增数据
hincrby 增加自定义数字(没有自定义减)
list: 有序,可以重复,左右两边弹出
lpush rpush 左边插入,右边插入
key value1 value2 value3 value4
lpop rpop 左边弹出数据,右边弹出数据
linsert 在list指定的值前后插入newValue
linsert key before|after value newValue
lrem 删除数据
lrem key count value
注意count的值的特性:
- count > 0 : 从头到尾删除count个等于value的值
- count < 0 :从尾到头删除count个等于value的值
- count = 0 :删除所有等于vlaue的值
ltrim 修剪数组,保留指定的部分
ltrim key start end 注意负数,
0:表示第一个数据 -1:表示倒数第一个数据 -2:表示倒数第二个数据…
lrange key start end 范围查询 闭区间
lindex key index 根据下标取数据
llen key 获取列表的长度
lset key index newValue 设置指定下标的数据
blpop brpop 阻塞版本
set 集合 不可以重复
sadd 添加元素,可添加多个元素
srem 删除数据,可删除多个元素
scard 获取集合的大小
sinter sdiff sunion 获取集合的交集、差集、并集
sismember 判断元素是否在集合中
srandmember 随机挑选指定数量的元素
spop 随机弹出一个元素
smembers 取出集合中的所有元素
zset 有序集合 , 有序,score可以重复,member不可以重复
zadd 添加元素
zadd key score member score elment …
zrem 删除指定的元素
zrem key member …
zcard 获取集合的大小
zscore key member 获取指定member的分数
zincrby key num member 增加某个member的分数
zrank key member 获取排名(从0开始)
zrevrank key member 获取指定元素的排序(从高到低排序)
zrange key strat end 获取排名内的数据
zrevrange 根据排名内的数据(从高到低)
zrangebyscore 获取指定分数之间的数据
zrangebyscore key minScore maxScore
zrevrangebyscore 获取制定分数之间的数据,从高到低排名
zcount 获取指定分数范围的个数
zcount key minScore maxScore
zremrangebyrank 根据排名来删除数据
zremrangebyrank key start end
zremrangebyscore 删除指定分数内的数据
zremrangebyscore key minScore maxScore
zinterscore zunionscore 集合操作。 获取集交集,并集
原文作者: duteliang
原文链接: http://yoursite.com/2019/03/12/nosql/Redis基础/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)