redis-String常用命令

2 篇文章 0 订阅

redis String 类型常用命令

String 是Redis中最基本的类型,一个key 对应一个 value,单值类型
Redis 字符串value 最大不要超过 512M。

常用

set
get
del : 删除
keys :查看所有值
exists :判断是否存在
append :追加值
strlen :长度

127.0.0.1:6379> set redis 'hello World'
OK
127.0.0.1:6379> get redis
"hello World"
127.0.0.1:6379> exists redis  #否存在
(integer) 1
127.0.0.1:6379> type redis  #查类型
string
127.0.0.1:6379> keys *  # 有 key
1) "redis"
127.0.0.1:6379> append redis 'come on'  #后面追加值
(integer) 18
127.0.0.1:6379> get redis
"hello Worldcome on"
127.0.0.1:6379> strlen redis #数据长度
(integer) 18
127.0.0.1:6379> del redis #删除
(integer) 1
127.0.0.1:6379> keys *
(empty array)

自增自减(增量设置)

incr : 自增
decr : 自减
incrby : 按照步长自增
decrby : 按照步长自减

127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num  #incr 每次自增 1
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> decr num #decr 每次减 1
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> incr num
(integer) 4
127.0.0.1:6379> decr num
(integer) 3
127.0.0.1:6379> incrby num 10 #按照步长增加,10是步长
(integer) 13
127.0.0.1:6379> decrby num 5 #按照步长减少,5是步长
(integer) 8

范围

range
getrange
setrange

127.0.0.1:6379> set name 123456789
OK
127.0.0.1:6379> strlen name
(integer) 9
127.0.0.1:6379> getrange name 1 3 #获取指定值[234]
"234"
127.0.0.1:6379> getrange name 0 -1 #所有值
"123456789"
127.0.0.1:6379> setrange name 2 a  #索引为2的值用 a 替换
(integer) 9
127.0.0.1:6379> get name
"12a456789"

setex setnx

setnx : 设置超时时间
setnx : 值不存在时,添加,已存在时,不添加

127.0.0.1:6379> setex name 60 guanzc  # 设置超时时间
OK
127.0.0.1:6379> ttl name
(integer) 56
127.0.0.1:6379> ttl name
(integer) 53
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> setnx k2 hello  # 不存在添加成功
(integer) 1
127.0.0.1:6379> setnx k2 world  # 存在添加失败
(integer) 0
127.0.0.1:6379> 

批量操作

mset : 批量新增
mget : 批量获取
msetnx : 批量修改


127.0.0.1:6379> 
127.0.0.1:6379> mset a1 1 a2 2 a3 3 a4 4 a5 5  #批量新增
OK
127.0.0.1:6379> keys *
1) "k1"
2) "a3"
3) "a5"
4) "a4"
5) "k2"
6) "a2"
7) "a1"
127.0.0.1:6379> mget a1 a2 a3 a4 a5  #批量获取
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
127.0.0.1:6379> msetnx name guan a1 zhichao  # name 不存在,a1 存在,添加失败,说明redis 是原子性操作,只要有一个存在就操作失败,可用于锁
(integer) 0
127.0.0.1:6379> keys *
1) "k1"
2) "a3"
3) "a5"
4) "a4"
5) "k2"
6) "a2"
7) "a1"
127.0.0.1:6379> 

保存对象

可以存储为json,需要解析,如果不想解析可以保存为对象形式。person[索引]:属性

127.0.0.1:6379> mset p:1:name 张三 p:1:age 18 p:1:address beijing
OK
127.0.0.1:6379> keys *
 1) "p:1:address"
 2) "p:1:age"
 3) "p:1:name"
127.0.0.1:6379> mget p:1:name p:1:age p:1:address
1) "\xe5\xbc\xa0\xe4\xb8\x89"
2) "18"
3) "beijing"

getset 先获取值,后赋值

127.0.0.1:6379> getset a1 1111
1
127.0.0.1:6379> get a1
1111
127.0.0.1:6379> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>