Redis五大数据类型——String

String(字符串)

string 是 redis 最基本的类型,一个 key 对应一个 value。string 类型的值最大能存储 512MB。

基本命令:

127.0.0.1:6379> set key1 hello  #设置值
OK
127.0.0.1:6379> get key1   #获取值
"hello"
127.0.0.1:6379> keys *  #获取所有key
1) "key1"
127.0.0.1:6379> exists key1  #判断一个key是否存在
(integer) 1
127.0.0.1:6379> append key1 "world"  #追加字符串,如果key不存在就set kye
(integer) 10
127.0.0.1:6379> get key1  
"helloworld"
127.0.0.1:6379> strlen key1   #获取字符串的长度
(integer) 10

自增自减:

127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views    #自增1
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> decr views   #自减1
(integer) 1
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> incrby views 10  #设置增加步长为10
(integer) 9
127.0.0.1:6379> decrby views 5  ##设置减少步长为5
(integer) 4

字符串范围:

127.0.0.1:6379> set str "hello redis"   
OK
127.0.0.1:6379> get str
"hello redis"
127.0.0.1:6379> getrange str 0 3   #截取字符串 [0-3]
"hell"
127.0.0.1:6379> getrange str 0 -1   #截取全部字符串 和get key 一样
"hello redis"

替换值:

127.0.0.1:6379> set key1 abcdefg
OK
127.0.0.1:6379> get key1
"abcdefg"
127.0.0.1:6379> setrange key1 1 ***   #key1中从第1位开始替换 替换成***
(integer) 7
127.0.0.1:6379> get key1
"a***efg"

设置过期时间:

  • #setex (set with expire) 设置过期时间
  • #setnx (set if not exist) 不存在再设置(在分布式锁中常用)
127.0.0.1:6379> setex key2 20 "hello"  #设置key2的值位hello,30秒后过期
OK
127.0.0.1:6379> ttl key2
(integer) 13
127.0.0.1:6379> setnx mykey "redis"  #如果mykey不存在,创建mykey
(integer) 1
127.0.0.1:6379> keys *
1) "key1"
2) "mykey"
3) "str"
127.0.0.1:6379> ttl key2
(integer) -2
127.0.0.1:6379> setnx mykey "MongDB"  #如果mykey存在,创建失败
(integer) 0
127.0.0.1:6379> get mykey
"redis"

同时操作多个值:

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3   #同时设置多个值
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
3) "k1"
127.0.0.1:6379> mget k1 k2 k3  #同时获取多个值
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k1 v1 k4 v4  #msetnx是一个原子性的操作,要么都成功要么都失败
(integer) 0
127.0.0.1:6379> get k4
(nil)

存储对象:

127.0.0.1:6379> mset user:1:name lyr user:1:age 3  #设置user:{name}:{age}
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "lyr"
2) "3"

getset:

127.0.0.1:6379> getset db redis  #如果不存在值,返回null
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mongdb  #如果存在值先获取原来的值,再设置新的值
"redis"
127.0.0.1:6379> get db
"mongdb"

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值