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
删除集合内指定元素
Original: https://www.cnblogs.com/nhdlb/p/16106905.html
Author: 怒吼的萝卜
Title: Redis:redis常用操作命令
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529250/
转载文章受原作者版权保护。转载请注明原作者出处!