Linux 之 Redis常用命令以及数据结构介绍string hash list set zset

3 篇文章 0 订阅

这篇先写redis的命令以及数据结构 String hash list set zset,下一篇会代码举例其使用

1. redis常用命令

// 设置key
set key1 value1

// 获取key
get key1

// 批量设置
mset key1 value1 key2 value2 

// 批量获取
mget key1 key2 key3

// 删除key 以及对应的value
del key1

// 判断是否存在key
exists key

// 10秒后过期  时间自己设定
expire key 10

// 1000秒后过期 时间自己设定
pexpire key 1000

// 查看key 的过期时间
ttl key

// 让此key不过期
persist key

// 获取所有的key
keys *

// 查看 dw开头的key 根据需要即可
keys dw*

// 查看dw开头,第三个字母是h到l的key
keys dw[h-l]*

// 获取key的数据类型
type key

// 查看当前空间大小
dbsize

// 等等


2. redis数据结构

在这里插入图片描述

1. 字符串

就是键值对字符串,value可以是 “1”,“1001”,也可以是json。单个value值最大512MB,一般情况下足够了。

使用场景:
缓存 计数器等

命令:

// 获取key
get key

// 设置 key value值 
set key value 

// 删除key
del key

// 自加1
incr key

// 自减1
decr key

// 自加n
incrby key n

// 自减n
decrby key n

// key不存在 才设值,如果存在,失效
setnx key value

// 批量获取key的value值
mget key1 key2 key3

// 批量设置键值对
mset k1 v1 k2 v2

// 给key设置新的值,返回旧值
getset key value

// 给key追加value
append key value

// 获取key对应的value的长度
strlen key

// 给key的值增加 数值,可以是整数 可以是小数
incrbyfloat key n

// 获取字符串指定下标的值
getrange key start end

// 给指定下标设置新的值
setrange key index value




2. hash

hash是key-value结构
hash的key还是string,value分为两部分,filed和value
filed可以理解为属性,value可以理解为值
field不能相同,value可以相同

在这里插入图片描述
命令:

// 获取hash key对应的field的value
hget key field

// 设置hash key对应的field的 value
hset key field value

// 删除key对应的field的value
hdel key field

// 获取key所有的field和value
hgetall key

// 判断key是否有field属性
hexists key field

// 获取key中field的数量
hlen key

// 批量获取key的field
hmget key field1 field2 

// 批量设置key的field value值
hmset key field1 value1 field2 value2

// 返回key 对应的所有field的value
hvals key

// 返回key对应的所有field
hkeys key


3. list

在这里插入图片描述
命令

// 从右边添加
rpush key value1 value2 ......

// 从左边插入
lpush key value1 value2 ......

// 在list指定的值 前  后  插入  新的值
linsert key before|after value newValue

// 从列表左侧弹出一个item
lpop key

// 从列表右侧弹出一个item
rpop key

// 根据count值,从列表删除所有value相等的项
lrem key count value
// count>0 从左到右,删除最多count个value相等的项
// count<0,从右到左,删除最多math。abs(count)个value相等的项
// count=0,删除所有value相等的项

// 按照索引范围修剪列表
ltrim key start start end 

// 获取列表指定范围所有item  查询 包含end
lrange key start end 

// 获取列表指定的item
lindex key index

// 获取列表长度
llen key

// 设置列表指定索引值为新的值,即更改某个位置的值
lset key index new Value


4. set 无序集合

在这里插入图片描述
命令

// 向集合key添加 element , 如果element存在 添加失败
sadd key element

// 将集合key中的element移除掉
srem key element

// 计算集合中元素的个数
scard key

// 从集合中随机获取一个元素
srandmember key

// 取出集合中的所有值
smembers key 

// 判断集合中某个元素是否存在
sismember key value
5. zset 有序集合

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
命令

// 添加score和element  score可重复,element不可重复
zadd key score element

// 删除元素
zrem key element

// 返回元素的分数
zscore key element

// 增加或减少元素的分数
zincrby key increScore element

// 返回元素的总个数
zcard key

// 返回指定下标的element
zrange key begin end 

// 返回有序集合内在指定分数范围内的个数
zcount key minScore maxScore

// 删除指定排名内的升序元素
zremrangebyrank key start end

// 删除指定分数内的升序元素
zremrangebyscore key minScore maxScore





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值