马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一.Redis 字符串
1.1根本使用
如果字符串内容为整数的时间。
1.1.1set、mset、get、mget 存和取
Redis 的 Set 是 String 范例的无序聚集。聚集成员是唯一的,这就意味着聚集中不能出现重复的数据。MSet是基于Set 的根本上,支持添加大概修改多个键值对。
Redis Get 下令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串范例,返回一个错误。MGet是基于Get的根本上,支持获取多个键值对。
实操例子如下:
- 127.0.0.1:6379> KEYS *
- (empty array)
- 127.0.0.1:6379> set k1 v1
- OK
- 127.0.0.1:6379> get k1
- "v1"
- 127.0.0.1:6379> mset k2 v2 k3 v3
- OK
- 127.0.0.1:6379> mget k1 k2 k3
- 1) "v1"
- 2) "v2"
- 3) "v3"
复制代码 1.1.2append追加数据和strlen查察长度
Redis Append 下令用·于为指定的 key 追加值。如果 key 已经存在而且是一个字符串, APPEND 下令将 value 追加到 key 原来的值的末端。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像实行 SET key value 一样。
- 127.0.0.1:6379> append k1 zhibo
- (integer) 7
- 127.0.0.1:6379> get k1
- "v1zhibo"
复制代码 Redis Strlen 下令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
- 127.0.0.1:6379> strlen k1
- (integer) 7
复制代码 1.1.3Getrange 字符串截取
Redis Getrange 下令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包罗 start 和 end 在内)。
- 127.0.0.1:6379> getrange k1 -4 -1
- "hibo"
复制代码 1.1.4set … nx和xx
我们先查询现在的数据库里的数据,我们先使用set k100 v1000 nx,现在k100不存在,以是返回值为ok。如果下令为set k3 v32 xx,只有在目的key存在的时间才返回ok。
- 127.0.0.1:6379> keys *
- 1) "k1"
- 2) "k2"
- 3) "k3"
- 127.0.0.1:6379> set k100 v1000 nx
- OK
- 127.0.0.1:6379> set k3 v32 xx
- OK
- 127.0.0.1:6379> set k99 v1313 xx
- (nil)
- 127.0.0.1:6379>
复制代码 1.2如果字符串的内容为整数的时间
1.2.1 uncr 让value的值增长1
如下,清空一下数据库,然后将key为n1的值赋值为整数123。
然后实行incr n1,查察keyn1的值变为了124。
- 127.0.0.1:6379> flushdb
- OK
- 127.0.0.1:6379> set n1 123
- OK
- 127.0.0.1:6379> incr n1
- (integer) 124
- 127.0.0.1:6379> get n1
- "124"
复制代码 1.2.2uncrby 让value的值增长n
和uncr 雷同,在这个根本上支持增长自己的数。
- 127.0.0.1:6379> incrby n1 100
- (integer) 224
复制代码 1.2.3 decr 和 decrby 减1和减n
decr 和 decrby和uncr和uncrby的环境根本雷同,只是把加改为了减法。
1.3 临时键值对
生存时间time to live,缩写为ttl,指键值对间隔被删除的剩余秒数如果重新set,生存时间(time to live,ttl)将被重置
以下使用支持各种数据范例
Redis Expire 下令用于设置 key 的逾期时间,key 逾期后将不再可用。单元以秒计。设置乐成返回 1 。 当 key 不存在大概不能为 key 设置逾期时间时(比如在低于 2.1.3 版本的 Redis 中你实验更新 key 的逾期时间)返回 0 。
- 127.0.0.1:6379> expire n1 15
- (integer) 1
- 127.0.0.1:6379> ttl n1
- (integer) 12
- 127.0.0.1:6379> get n1
- \(nil)
- 127.0.0.1:6379>
复制代码 在使用键逾期功能时,组合使用SET下令和EXPIRE/PEXIRE下令的做法 非常常见,比如展示的带有主动移除特性的缓存步调就是如许做的。
- 127.0.0.1:6379> set k1 v1 ex 10
- OK
- 127.0.0.1:6379> get k1
- (nil)
复制代码 Redis TTL 下令以秒为单元返回 key 的剩余逾期时间。当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单元,返回 key 的剩余生存时间。
**注意:**在 Redis 2.8 从前,当 key 不存在,大概 key 没有设置剩余生存时间时,下令都返回 -1 。
- 127.0.0.1:6379> set k1 v1 ex 20
- OK
- 127.0.0.1:6379> set k1 v2 keepttl
- OK
- 127.0.0.1:6379> ttl k1
- (integer) 4
- 127.0.0.1:6379> set k1 v1 ex 20
- OK
- 127.0.0.1:6379> set k1 v2
- OK
- 127.0.0.1:6379> ttl k1
- (integer) -1
复制代码 总结
本文全面先容了 Redis 字符串范例的根本使用,包罗常用的存取、修改、截取以及键值逾期管理等功能。通过学习 Redis 提供的下令如 SET、GET、APPEND、INCR 等,我们可以或许高效地在 Redis 中处理处罚字符串范例的数据。同时,文章还深入探究了怎样使用 NX 和 XX 标记位来控制键值对的存储条件,资助我们更机动地使用 Redis 数据库。
特别地,我们还具体分析了字符串内容为整数时的使用,如 INCR 和 DECR 等自增自减下令,这使得 Redis 在处理处罚计数器、数字累加等场景时变得极为高效。别的,Redis 的 TTL 和 EXPIRE 下令为我们提供了设置键值对生存时间的功能,使得 Redis 可以或许在缓存管理、临时存储等场景中更具上风。
通过本文的先容,读者可以把握 Redis 字符串使用的核心下令,并可以或许机动应用于现实的开发和运维中,提拔 Redis 的使用服从。
|