Linux 版本信息:
cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
CentOS release 6.6 (Final)
</div>
(一)String 类型
【定义】string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个 value,其上支持的操作与 Memcached 的操作类似。但它的功能更丰富。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据, 比如 jpg 图片或者序 列化的对象。 从内部实现来看其实 string 可以看作 byte 数组,最大上限是 1G 字节。
【操作】
① set 方法
设置 key 对应的值为 string 类型的 value。
【例】添加 name = dee 的键值对:
127.0.0.1:6379> set name dee
OK
</div>
设置成功。
② get 方法
【例】
127.0.0.1:6379> get name
"dee"
</div>
获取成功。
再次设置 name = deathmask,值会被覆盖:
127.0.0.1:6379> set name deathmask
OK
127.0.0.1:6379> get name
"deathmask"
</div>
③ setnx 方法
设置 key 对应的值为 string 类型的 value,如果 key 已经存在,返回 0,nx 表示 not exist。
【例】
127.0.0.1:6379> setnx name dee
(integer) 0
127.0.0.1:6379> setnx app weibo
(integer) 1
127.0.0.1:6379> get name
"deathmask"
127.0.0.1:6379> get app
"weibo"
</div>
表示 name 已经存在而且没有更改,app 不存在则成功 set。
④ setex 方法
设置 key 对应的值为 string 类型的 value,并指定 此键值 对应的有效期。
【例】
127.0.0.1:6379> setex mobile 10 iphone
OK
127.0.0.1:6379> get mobile
"iphone"
127.0.0.1:6379> get mobile
"iphone"
127.0.0.1:6379> get mobile
(nil)
</div>
设置 mobile 的值为 iPhone,并且指定有效期为 10 秒。
⑤ setrange 方法
设定指定 key 的 value 值的子字符串
【例】将 dee 的 126 邮箱 替换为 gmail 邮箱
127.0.0.1:6379> set email dee@126.com
OK
127.0.0.1:6379> get email
"dee@126.com"
127.0.0.1:6379> setrange email 4 gmail.com
(integer) 13
127.0.0.1:6379> get email
"dee@gmail.com"
</div>
其中 4 代表下标,(integer) 13 表示字符串的长度。
【例2】
127.0.0.1:6379> set email dee@vip.ofim.com
OK
127.0.0.1:6379> get email
"dee@vip.ofim.com"
127.0.0.1:6379> setrange email 4 gmail.com
(integer) 16
127.0.0.1:6379> get email
"dee@gmail.comcom"
</div>
说明:如果替换的字符串没有源字符串长,则只会把源字符串中相同长度的字符替换掉,同时保留源字符串中剩余的字符。
⑥ mset 方法
一次设置多个 key 值,成功返回 ok,表示所有的值都设置了,失败返回 0,表示没有任何值被设置。
【例】
127.0.0.1:6379> mset key1 dee1 key2 dee2
OK
127.0.0.1:6379> get key1
"dee1"
127.0.0.1:6379> get key2
"dee2"
</div>
⑦ msetnx 方法
一次设置多个 key 的值,成功返回 1,表示所有的值都被设置了。失败返回 0 ,表示没有任何值被设置,但是不会覆盖已经存在的 key。
127.0.0.1:6379> msetnx key3 dee3 key4 dee4
(integer) 1
127.0.0.1:6379> msetnx key3 dee333 key4 dee444 key5 dee5
(integer) 0
127.0.0.1:6379> get key3
"dee3"
127.0.0.1:6379> get key4
"dee4"
127.0.0.1:6379> get key5
(nil)
</div>
⑧ getset 方法
设置 key 的值,并返回 key 的旧值。
【例】
127.0.0.1:6379> getset key1 emperor
"dee1"
</div>
⑨ getrange 方法
获取 key 的 value 值的子字符串。
127.0.0.1:6379> get email
"dee@gmail.comcom"
127.0.0.1:6379> getrange email 0 12
"dee@gmail.com"
</div>
返回第 0 到第12 个字符。
⑩ mget 方法
一次获取多个 key 的值,如果对应 key 不存在则对应返回 nil。
【例】
127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "emperor"
2) "dee2"
3) "dee3"
4) "dee4"
5) (nil)
</div>
⑪ incr 方法
对 key 的值做 加加 操作,并返回新的值。
【例】每次递增1
127.0.0.1:6379> set age 28
OK
127.0.0.1:6379> get age
"28"
127.0.0.1:6379> incr age
(integer) 29<