Redis:redis常用操作命令

redis登录

#登录命令 -h 登录地址 -p 端口
./redis-cli -h 127.0.0.1 -p 6379

查看缓存大小

#查看缓存大小
dbsize

查看所有Key

#获取所有的key
keys *

判断key是否存在

#判断key是否存在
exists key

查看key的数据类型

# 查看key的数据类型
type  key

删除key数据

# 删除key数据
del key

异步删除key数据

  仅仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。

#异步删除key
unlink key

指定key设置过期时间

#指定key设置过期时间(秒)
expire key 10

查看key的所剩有效时间

# 查看key的剩余时长(秒)( -1 表示永不过期  -2 表示已过期 )
ttl key

切换数据库

#指定第一个库 0 1 2 3 4 .....
select 0

清除当前库

#清除当前库
flushdb

清除所有数据

#清除所有数据
flushall

退出redis

#退出
exit

 = = = String数据类型操作 = = = 

  key的字符串没有限制,但是value的字符串最大长度为512M.

添加key,String数据

#添加key,String
set key value

查看key,String数据

#查看key,String数据
get backup0

value值追加字符串

#在value值的末尾追加字符串
append key value

获取value值的长度

#获取value值的长度
strlen key

key不存在时添加value

#当key不存在时,添加key value值
setnx key value

value数值自增1

# 当value为数值时,value自增加1,value为空,新增值为1
incr key

 value数值自减1

# 当value为数值时,value自减1,value为空,自减值为-1
decr key

添加多个键值对

#一次添加多个键值对
msetnx key1 value1 key2 value2 key3 value3

查看多个key的值

# 一次查看多个key的值
mget key1 key2 key3

 添加多个键值对(  key必须不存在 )

#添加多个键值对,key必须是不存在,并且添加保持原子性,一条失败全部失败
msetnx key1 value1 key2 value2 key3 value3

查看value截取某段的值

#类似java的字符串截取 substring, 截取某段的数据显示(包含下标位)
getrange key index0 index1

覆盖value指定某段的值

#指定覆盖value某段的值
setrange key index value

添加值时设置过期时长

#添加key,value时设置过期时长(秒)
setex key seconds value

修改value值同时返回旧值

#覆盖旧值的同时返回旧值
getset key value

 = = = List数据类型操作 = = = 

List的数据结构为快速链表quickList,但是在元素较少时会使用一块连续的内存空间存储,这个结构是zipList(压缩列表)

从左侧插入多个值

#从List链表左侧插入一个或多个值
lpush key value1 value2 value3 value4

从右侧插入多个值

#从List链表右侧插入一个或多个值
rpush key value1 value2 value3 value4

从左侧删除并返回一个值

#删除左侧一个值并返回删除的值数据
lpop key

从右侧删除并返回一个值

#删除右侧一个值并返回删除的值数据
rpop key

删除key1右侧一个值插入key2左侧

#删除key1列表右侧一个值,并插入到key2列表的左侧
rpoplpush key1 key2

查看列表数据

#查看指定下标段的数据 (查看列表所有数据:0 -1) 0:左边第一个 -1:右边第一个
lrange key index0 index1

查看列表指定下标的数据

#查看列表内指定下标的数据(从左到右)
lindex key index

查看列表长度

#查看列表长度
llen key

列表内某值的前方插入值

#指定在列表的某个值前方插入一个值
linsert key before value newvalue

列表内某值的后方插入值

#指定在列表的某个值后方插入一个值
linsert key after value newvalue

从列表左删除相同检索值的数据

#从列表左边查看与检索值一致的n个数据进行删除
lrem key num value

指定列表下标进行修改值

#修改列表指定下标的值
lset key index value

 = = = Set数据类型操作 = = = 

set数据结构是dict字典,字典是用hash表实现的

存储插入set集合

如果存入的值与集合内数据重复,存入值不生效

# set集合插入多个或一个值
sadd key value1 value2  value3

查看set集合内所有值

# 查询set集合key的所有值
smembers key

判断某值是否存在set集合内

# 判断值是否存在集合内  存在:1   不存在:0
sismember key value

查看集合内元素个数

# 查看集合内元素的个数
scard key

删除集合内某个元素

# 删除集合内某些值
srem key value1 value2 value3

删除集合内随机一个值并返回

# 删除并获取集合内随机一个值
spop key

随机查询集合内n个值

# 查询集合内随机n个值
srandmember key n

将key1集合的某个值转移都key2集合

# 指定值进行集合内转移
smove key1 key2 value1

查看两个集合的交集元素

# 查看交集元素
sinter key1 key2

查看两个集合的并集元素(去重)

# 查看并集元素(去重)
sunion key1 key2

查看两个集合的差集元素(key2)

# 查看key2集合对比key1集合的差集(key1中包含 但是key2不包含的元素)
sdiff key1 key2

 = = = Hash数据类型操作 = = = 

Hash是键值对对象存储,string类型的field和value映射表

存储多个field value对象

# 存储单个或多个field value
hmset key field1 value1 field2 value2 field3 value3

更新对象内某field的值

# 修改对象内某field的值
hset key field value

查看对象内某field的值

# 查看对象内某field的值
hget key field

判断对象内某field是否存在

# 判断对象内某field是否存在
hexists key field

查看对象内所有field

# 查看对象内所有field
hkeys key

查看对象内所有value

# 查看对象内所有value
hvals key

对象内添加新的field

# 对象内添加新的field
hsetnx key field value

 = = = Zset有序集合类型操作 = = = 

 添加多个key value键值对

# 添加多个键值对 score表示唯一值(用于排序) 一般存储时间戳
zadd key score1 value1 score2 value2 score3 value3

 

查看集合内的下标区间的值

# 查看集合内下标区间的值 查看所有的值 0 -1
zrange key 0 -1

 

查看集合内的下标区间的值(含score)

# 查看集合内下标区间的值 查看所有的值 0 -1 包含score
zrange key 0 -1 withscores

 查看从小到大排序后的数据

# 从小到大依次显示集合内数据(score区间)全部显示 0 -1
zrangebyscore key min max
# 从小到大依次显示集合内数据(包含score)
zrangebyscore key min max withscores
# 从小到大依次显示集合内数据(包含score)取start起始下标的n条数据
zrangebyscore key min max withscores limit start n

 查看从大到小排序后的数据

# 从大到小依次显示集合内数据(score区间)
zrevrangebyscore key max min
# 从大到小依次显示集合内数据(包含score)
zrevrangebyscore key max min withscores
# 从大到小依次显示集合内数据(包含score)取start起始下标的n条数据
zrevrangebyscore key max min withscores limit start n

 

删除集合内指定元素

 

posted @ 2022-04-06 15:58  怒吼的萝卜  阅读(2796)  评论(0编辑  收藏  举报