Redis 基本数据结构之String(字符串)

Redis 基本数据结构之String(字符串)

版本:

docker exec practiceRedis redis-server -v
Redis server v=6.0.8 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=75cef67090587c6
  1. redis的字符串是动态字符串,是可以修改的字符串。L类似Java的ArrayList
  2. 采用预分配冗余空间的方式减少内存频繁操作,指当前字符串的实际分配的空间是大于字符串的的len,当字符串空间大小小于1MB,扩容加倍原有空间大小,超过1MB ,扩容最多增加1MB。
  3. 字符串的最大空间是512MB
常见的redis操作命令
  1. set key value [EX seconds|PX milliseconds] [NX|XX] [KEEPTTL] 一次设置一个值
    可选选项:
    • ex seconds:为键设置秒级别过期时间。
      set mykey keyvalue EX 5
    • px milliseconds:为键设置毫秒级别过期时间。
      set mykey keyvalue PX 5
    • nx:键必须不存在,才可以设置成功,用于添加。
      set mykey keyvalue nx
    • xx:于nx相反,键必须存在,才可以设置成功,用于更新。
      set mykey keyvalue xx
    • keepttl:取消键的过期时间。
      set mykey keyvalue keepttl
  2. mset key value [key value …] 一次设置多个值
127.0.0.1:6379> Mset key1 value1 key2 value2
OK
  1. get key /mget key1 key2 获取值
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> mget key1 key2
1) "value1"
2) "value2"
  1. del key 删除
#KEYS * #查询所有的key
127.0.0.1:6379> KEYS *
1) "key2"
2) "key1"
3) "mykey"
4) "backup1"
5) "backup3"
6) "backup4"
7) "backup2"
127.0.0.1:6379> del mykey
(integer) 1
127.0.0.1:6379> 
  1. 计数
    可以自增长,范围是long的范围(有符号的),超出会报错
127.0.0.1:6379> set age 11
OK
127.0.0.1:6379> INCR age #加一
(integer) 12
127.0.0.1:6379> INCR age -1 #错误
(error) ERR wrong number of arguments for 'incr' command
127.0.0.1:6379> INCRby age -1 #减一
(integer) 11
127.0.0.1:6379> set longMax 9223372036854775807 
OK
127.0.0.1:6379> INCR longMax #最大值后再加报错
(error) ERR increment or decrement would overflow
  1. 其他
127.0.0.1:6379> EXPIRE key1 5 # 5s 过期
(integer) 1
127.0.0.1:6379> get key1 
(nil)
127.0.0.1:6379> keys *
1) "key2"
2) "backup1"
3) "backup3"
4) "backup4"
5) "backup2"
127.0.0.1:6379> setex key3 5 value3 #设置5s 后过期
OK
127.0.0.1:6379> get key3
"value3"
127.0.0.1:6379> get key3
(nil)
127.0.0.1:6379> setnx key1 v1 # 不存在key1 就设置
(integer) 1
127.0.0.1:6379> get key1
"v1"
127.0.0.1:6379> ttl key3 #查询key3过期时间 ,不存在返回2
(integer) -2
127.0.0.1:6379> ttl key1 #没有设置返回-1
(integer) -1
127.0.0.1:6379> EXPIRE key1 5
(integer) 1
127.0.0.1:6379> ttl key1 
(integer) 3
127.0.0.1:6379> ttl key1
(integer) -2
127.0.0.1:6379> 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值