Redis常用的对象操作命令

文章目录Redis客户端命令`exit``shutdown``select index``dbsize``keys *``flushdb``exists key``move key index``ttl key``expire key num``persist key``del key``type key``save` 与 `bgsave``info`Redis 数据操作一、String操作`set key value``get key``del key``append key value``strlen
摘要由CSDN通过智能技术生成

文章目录

Redis客户端命令

exit
  • 作用:退出客户端
shutdown
  • 作用:关闭redis服务器
select index
  • 作用:选择库,index从0-15
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR DB index is out of range
127.0.0.1:6379[15]> 

dbsize
  • 作用:查看当前库中key的数量
keys *
  • 查看当前库的所有key
  • 可以用keys k??? 查看,一个?代表一个字符;
  • 也可以用keys k* 查看,一个*号代表0或多个字符;
127.0.0.1:6379> keys k???
1) "key3"
2) "key2"
3) "key1"
127.0.0.1:6379> keys k*
1) "key3"
2) "key2"
3) "key1"
flushdb
  • 作用:删除当前库中所有数据

同类操作:

  • flushall // 删除所有库中所有数据
exists key
  • 作用:判断key是否存在,存在返回1,不存在返回0
move key index
  • 作用:将当前key移动到index号库中
127.0.0.1:6379[1]> set k3 hello
OK
127.0.0.1:6379[1]> get k3
"hello"
127.0.0.1:6379[1]> EXISTS k3
(integer) 1
127.0.0.1:6379[1]> move k3 2
(integer) 1
127.0.0.1:6379[1]> EXISTS k3
(integer) 0
127.0.0.1:6379[1]> SELECT 2
OK
127.0.0.1:6379[2]> dbsize
(integer) 1
127.0.0.1:6379[2]> get k3
"hello"
ttl key
  • 作用:查看当前key还有多少秒过期,-1表示永不过期,-2 表示已过期

同类操作:

  • pttl key // 返回key的剩余生存时间,单位是毫秒;
expire key num
  • 作用:设置key的过期时间,单位秒

同类操作:

  • pexpire key num // 设置key的过期时间,单位是毫秒
  • expireat key time // 设置key的过期时间,time是以秒为精度表示的时间戳;
  • pexpireat key time // 设置key的过期时间,time是以毫秒为精度表示的时间戳
127.0.0.1:6379> ttl k2
(integer) -1
127.0.0.1:6379> expire k2 100
(integer) 1
127.0.0.1:6379> ttl k2
(integer) 98
persist key
  • 作用:移除一个键的过期时间;
127.0.0.1:6379> expire key 100
(integer) 1
127.0.0.1:6379> ttl key
(integer) 98
127.0.0.1:6379> persist key
(integer) 1
127.0.0.1:6379> ttl key
(integer) -1
del key
  • 作用:删除key
type key
  • 作用:查看key的数据类型
127.0.0.1:6379> set k2 hello
OK
127.0.0.1:6379> get k2
"hello"
127.0.0.1:6379> type k2
string

127.0.0.1:6379> rpush mylist 1 2 3 4
(integer) 4
127.0.0.1:6379> lrange mylist 0 4
1) "1"
2) "2"
3) "3"
4) "4"
127.0.0.1:6379> type mylist
list
savebgsave
  • 作用:立即执行持久化
  • save会阻塞当前其他操作,
  • bgsave会在后台异步执行快照操作,同时还能响应客户端请求,
  • 可以通过lastsave命令获取最后一次成功执行快照的时间。
info
  • 查看服务器信息,如果只输入info会把全部信息打印出来,包括:ServerClientsMemoryPersistenceStatsReplicationCPUClusterKeyspace,等,可以执行info [section]来查看特定的信息
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:0
master_replid:fc1c73850da40c0187e27048bdfe4a3facc30bf8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

Redis 数据操作

redis中的五个对象类型:

  • string
  • list
  • set (无序集合)
  • zset (有序集合)
  • hash

一、String操作

set key value
  • 作用:设置 key value
  • 如果value中有空格,则在两端加引号
  • 单双引号的区别是:单引号会将特殊字符转义,双引号原样存储
127.0.0.1:6379> set k5 'hello world'
OK
127.0.0.1:6379> get k5
"hello world"
127.0.0.1:6379> set k6 "hello world"
OK
127.0.0.1:6379> get k6
"hello world"
127.0.0.1:6379> set k7 'hello\tworld'
OK
127.0.0.1:6379> get k7
"hello\\tworld"
127.0.0.1:6379> strlen k7
(integer) 12
127.0.0.1:6379> set k8 "hello\tworld"
OK
127.0.0.1:6379> get k8
"hello\tworld"
127.0.0.1:6379> strlen k8
(integer) 11
get key
  • 作用:获取key的值
del key
  • 作用:删除key
append key value
  • 作用:向key中添加值
127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379> append k1 world
(integer) 10
127.0.0.1:6379> get k1
"helloworld"
strlen key
  • 作用:查看key对应的value的长度
127.0.0.1:6379> get k1
"helloworld"
127.0.0.1:6379> strlen k1
(integer) 10
127.0.0.1:6379> strlen k2
(integer) 5
127.0.0.1:6379> get k2
"world"
incr key
  • 作用:给key对应的value值加1,如果value不是数字则报错

同类操作:

  • decr key // 减1
  • incrby key num // 加上指定的值
  • decrby key num // 减去指定的值
127.0.0.1:6379> set k3 10
OK
127.0.0.1:6379> incr k3
(integer) 11
127.0.0.1:6379> incrby k3 10
(integer) 21
127.0.0.1:6379> decr k3
(integer) 20
127.0.0.1:6379> decrby k3 10
(integer) 10

127.0.0.1:6379> set k4 hello
OK
127.0.0.1:6379> incr k4
(error) ERR value is not an integer or out of range
getrange key start end
  • 作用:获取子串,从start到end
  • end位置的字符也包含
  • end可以用负数,从结尾开始查,-1代表最后一位字符
127.0.0.1:6379> set k4 'hello world'
OK
127.0.0.1:6379> get k4
"hello world"
127.0.0.1:6379> strlen k4
(integer) 11
127.0.0.1:6379> getrange k4 0 0
"h"
127.0.0.1:6379> getrange k4 0 1
"he"
127.0.0.1:6379> getrange k4 0 11
"hello world"
127.0.0.1:6379> getrange k4 0 10
"hello world"
127.0.0.1:6379> getrange k4 0 9
"hello worl"
127.0.0.1:6379> getrange k4 0 -1
"hello world"
127.0.0.1:6379> getrange k4 0 -2
"hello worl"
setrange key num str
  • 作用:从num位置开始向后将数据修改为str
127.0.0.1:6379> set k1 hi
OK
127.0.0.1:6379> get k1
"hi"
127.0.0.1:6379> SETRANGE k1 0 he
(integer) 2
127.0.0.1:6379> get k1
"he"
127.0.0.1:6379> setrange k1 0 hello
(integer) 5
127.0.0.1:6379> get k1
"hello"
setex key time value
  • 作用:在设置值时,同时设置有效期
  • setex :set with expire
  • 单位是秒
127.0.0.1:6379> setex k4 10 hello
OK
127.0.0.1:6379> get k4
"hello"
127.0.0.1:6379> ttl k4
(integer) 4
127.0.0.1:6379> ttl k4
(integer) 0
setnx key value
  • 作用:当key不存在时,设置key值,当key存在时,不覆盖
  • setnx: set if not exist
127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379> setnx k1 hi
(integer) 0
127.0.0.1:6379> get k1
"hello"

127.0.0.1:6379> get kk1
(nil)
127.0.0.1:6379> setnx kk1 value
(integer) 1
127.0.0.1:6379> get kk1
"value"
mset key1 value1 key2 value2 ...
  • 作用:同时给多个key设置值

同类操作:

  • mget key1 key2 key3 ... // 同时获取多个key的值
  • mmore的意思;
127.0.0.1:6379> mset kk1 value1 kk2 value2 kk3 value3
OK
127.0.0.1:6379> mget kk1 kk2 kk3
1) "value1"
2) "value2"
3) "value3"
msetnx key1 value1 key2 value2 ...
  • 作用:当key1,key2…都不存在时,为key赋值,只要有一个存在就不赋值。
127.0.0.1:6379> mget key1 key4
1) "value1"
2) (nil)
127.0.0.1:6379> msetnx key1 kkvalue1 key4 kkvalue4
(integer) 0
127.0.0.1:6379> mget key1 key4
1) "value1"
2) (nil)

127.0.0.1:6379> mget key4 key5
1) (nil)
2) (nil)
127.0.0.1:6379> msetnx key4 kkvalue4 key5 kkvalue5
(integer) 1
127.0.0.1:6379> mget key4 key5
1) "kkvalue4"
2) "kkvalue5"
getset key value
  • 作用:将key的值返
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值