redis使用(1):基本数据类型、通用命令key

一、基本操作:
help 指令 获取相对应指令的帮助信息
在这里插入图片描述
二、数据类型: key永远是string类型,key一般设置成表名:主键名:主键值:字段名 ,来对应数据库中的数据
1)value是string: 如果string类型是数字,可以当成是数字进行操作
set key value 信息设置
mset key1 val1 key2 val2....一次性设置多个数据
get key信息获取,如果不存在则返回nil
mget key1 key2...一次性获取多个数据
strlen key获取val的长度
append key val如果原始信息存在就追加,否则创建

setnx key val/set key val nx key不存在才能创建
set key val xx key存在才能创建
set key val ex/px 设置有效期

拓展操作: 如果val的类型可以看成是string的话,可以进行incr和decr操作
incr/decr key 加减1,如果不是整数返回错误,键不存在返回1
incrby/decrby key increment 加减指定的值
setex key seconds val / psetex key milliseconds val设置具有生命周期的数据

string内部有三种编码:redis会根据当前值类型和长度决定使用哪一种编码
1)int:8个字节的长整型
2)embstr:小于等于39字节的字符串
3)raw:大于39字节的字符串

2)value是hash类型: hash中的value只能是string
在这里插入图片描述
hset key field value设置具体的值
hget key filed获取对应的数据
hgetall key获取对应的hash数据
hdel key field1 [filed2] [filed3] ...删除对应的数据
hmset key field1 value1 field2 value2....设置多个具体的值
hmget key filed1 field2....获取多个filed对应的val
hlen key获取对应的key的字段数,field的数目
hexists key查看是否存在指定的字段

拓展操作:
hkeys/hvals keys获取对应的键或值

3)list类型: 底层双向链表
在这里插入图片描述
lpush/rpush key value1 value2 ....添加数据
lrange key start stop从左开始呈现数据,start和stop为索引,闭合区间[start,stop]
linsert key before|after pivot value在pivot前|后插入元素
lindex key index指定索引对应的value
llen key指定key中value的个数
ltrim key start stop只留下[start,stop]之间的元素
lpop/rpop key获取并移除数据

拓展操作:
blpop/brpop key1 key2 timeout阻塞操作,在规定时间内获取并且移除数据,
lrem key count value count表示多少个,value表示要删除的元素

4)set类型:
在这里插入图片描述
sadd key value1 value2 ...添加数据
smembers key获取全部数据
srem key value1 value2...删除数据
scard user查看key中有几个value
sismember key member查看是否包含指定的key

set随机数据扩展操作:
srandmember key count随机获取key中count个value
spop key随机获取某个value并移除

交并差操作:
求两个集合的交并差:
sinter(store) (destination)key1 key2 ...求交集并存储到destination
sunion(store)(destination) key1 key2 ...求并集并存储到destination
sdiff(store)(destination) key1 key2 ...求差集并存储到destination

5)sorted_set 会根据score来排序
在这里插入图片描述

zadd key score1 value1 score2 value2... 添加数据,默认升序
zrange/zrevrange key start stop [withscores]获取全部的数据
zrem key value删除某个数据
zcard key查看有多少数据
zcount key min max查看指定的[min,max]之间有多少数据
zscore key member查看某个成员的score

查询扩展操作:
zrange\zrevrange key start end [withscores] [limit] [start num]查询排名处于[start,end]之间的数据
zrangebyscore key min max [withscore]查询score处于[min,max]之间的member
zremrangebyrank key start stop按照排序来删除
zremrangebyscore key min max按照scores来删除

zrank key value获取排名,低往高,0开始计算
zrevrank key value获取排名,高往低
zscore key value获取score
zincrby key increment value对应的value中的score+increment

集合操作:zinterstore destination numkeys key1 key2... weights [weight1,weight2...] aggregate sum|min|max

三、通用命令:
1)key是一个string:
del key删除指定key
exists key获取key是否存在
type key获取key的类型
rename key newkey重命名key,如果原来的newkey存在,则会被覆盖,使用renamenx则不会
keys pattern遍历所有键去匹配

2)时效性控制:
expire key seconds或者expireat key timestampe设置有效期,只对
ttl key获取有效期,正整数为剩余的过期时间,-1为永久性有效,-2表示已经过期,set string类型会导致时效性过期
persist key将key转换成永久性

3)查询模式:
keys pattern查询key,pattern表示匹配模式,查询所有满足条件的key,*表示任意个字符,?表示任意一个符号,[]指定一个匹配的符号
scan cursor [match pattern] [count number]cursor为游标,第一次为0,每次scan都会返回一个数,直到0遍历结束,count number默认为10,出现了增删情况就不能保证全部遍历

4)数据库通用指令:redis提供16个数据库
select index切换使用的数据库
flushdb清除当前数据库数据

5)迁移键:
move key db将key从一个数据库中移动到另一个数据库中
dump key + restore key ttl value实现不同redis之间的转移,**非原子执行,需要在各个redis开启客户端,**源redis中dump会将键值序列化成RDB文件,目标redis会根据value将键值复原
migrate host port key/“” destination-db timeout [copy][replace] key key1 key2原子操作,只需要开启源redis的客户端,
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值