赞
踩
#使用的库都是0号库 192.168.136.130:0>set k1 v1 # 添加一个 键值对 key:k1 ; value:v1 到库中 "OK" #显示成功添加 192.168.136.130:0>get k1 #获取 key为 k1 的value "v1" #获取到的值 192.168.136.130:0>set k1 v11 # 如果set 的键名已经存在,则会替换掉之前的内容 "OK" 192.168.136.130:0>get k1 "v11" 192.168.136.130:0>del k1 #删除键为k1的键值对 "1" #返回1表示成功 192.168.136.130:0>get k1 #再次获取 null #显示为空 192.168.136.130:0>mset k1 v1 k2 v2 k3 v3 #批量添加 "OK" 192.168.136.130:0>mget k1 k2 k3 #批量获取 1) "v1" 2) "v2" 3) "v3" 192.168.136.130:0>expire k3 10 # 给 key 为 k3 的键设置过期时间 过期时间为10s "1" 192.168.136.130:0>ttl k3 # 查看 key 为k3 的过期时间 "6" #还有 6s过期 192.168.136.130:0>ttl k3 "1" 192.168.136.130:0>ttl k3 "-2" # -2代表已经过期 192.168.136.130:0>ttl k1 "-1" # -1代表永不过期 192.168.136.130:0>move k2 1 # 将 key 为 k2 的键值对 移动到 1号库下 (当前是在 0号库)见下图 "1"
192.168.136.130:0>keys * 1) "k1" 192.168.136.130:0>set k2 v2 # 先添加一个键值对 k2 - v2 "OK" 192.168.136.130:0>setnx k2 v22 #k2 已经存在,不会替换掉之前的内容,添加失败 "0" 192.168.136.130:0>get k2 "v2" 192.168.136.130:0>setex k3 10 v3 #在添加的时候就设置过期时间,EXPIRE 是给已存在的键值对设置过期时间 "OK" 192.168.136.130:0>ttl k3 "6" 192.168.136.130:0>ttl k3 "2" 192.168.136.130:0>ttl k3 "-2" 192.168.136.130:0>keys * 1) "k2" 2) "k1" 192.168.136.130:0>msetnx k3 v3 k4 v4 k5 v5 #批量添加(不能添加重复键)msetnx具有原子性,一个键值对添加失败,整个操作都是随之失败 "1" 192.168.136.130:0>keys * 1) "k3" 2) "k5" 3) "k2" 4) "k4" 5) "k1" 192.168.136.130:0>msetnx k5 v5 k6 v6 # k5 已经存在,所以会导致整个操作都失败 "0" 192.168.136.130:0>keys * 1) "k3" 2) "k5" 3) "k2" 4) "k4" 5) "k1
192.168.136.130:0>set k2 hello #设置一个键值对用于测试
"OK"
192.168.136.130:0>get k2
"hello"
192.168.136.130:0>STRLEN k2 # 获取 k2 value 的长度
"5"
192.168.136.130:0>APPEND k2 world # 在k2 的value 的最后 追加上 world
"10"
192.168.136.130:0>get k2
"helloworld"
192.168.136.130:0>set k1 0 #添加一个键值对 键为 k1 值为 0 "OK" 192.168.136.130:0>get k1 #查看 k1 的值 "0" 192.168.136.130:0>incr k1 # incr是将值 +1 操作 "1" # 0 + 1 = 1 192.168.136.130:0>incr k1 # decr是将值 -1 操作 "2" 192.168.136.130:0>decr k1 "1" # 2 - 1 = 1 192.168.136.130:0>decr k1 "0" 192.168.136.130:0>incrby k1 10 # 将对应的加上一个自定义的数 这里是定义为 10 "10" 192.168.136.130:0>incrby k1 10 "20" 192.168.136.130:0>decrby k1 10 # 将对应的减去一个自定义的数 这里是定义为 10 "10" 192.168.136.130:0>decrby k1 10 "0"
String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配.
如图中所示,内部为当前字符串实际分配的空间capacity一般要高于实际字符串长度len。当字符串长度小于1M时,扩容都是加倍现有的空间,如果超过1M,扩容时一次只会多扩1M的空间。需要注意的是字符串最大长度为512M。注意,是value的最大长度为512M,这里的扩容也是将 value 进行扩容
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。