常用方法:
1, set方法:
set 设置key的值为value
(1)对不存在的key使用set:
redis 127.0.0.1:6379> set name 'zhangsan'
OK
redis 127.0.0.1:6379> get name
"zhangsan"
(2)对已存在的key使用set,更换key的值:
redis 127.0.0.1:6379> set name 'lisi'
OK
redis 127.0.0.1:6379> get name
"lisi"
2,setnx 方法:
setnx 当key不存在时,设置key的值为value,设置成功,返回1,设置失败,返回0.
redis 127.0.0.1:6379> setnx name 'wangwu'
(integer) 0
redis 127.0.0.1:6379> get name
"lisi"
redis 127.0.0.1:6379> setnx name2 'wangwu'
(integer) 1
redis 127.0.0.1:6379> get name2
"wangwu"
3,setex 方法:
setex 设置key的值为value,过期时间为seconds(单位为秒).如果key已经存在,
则会覆盖其值。过期之后,返回的是为nil.
redis 127.0.0.1:6379> setex name 3 'zhangsan'
OK
redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379> get name
(nil)
redis 127.0.0.1:6379> setex name 30 'zhangsan'
OK
redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379> setex name 30 'lisi'
OK
redis 127.0.0.1:6379> get name
"lisi"
4,setrange方法:
setrange 用 value 参数覆盖给定 key 所储存的字符串值,下标从0开始,偏移量从 offset 开始。如果key不存在,则当做空白字符串处理。此命令会确保字符串足够长以便将 value 设置在指定的偏移量上,如果给定 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ),那么原字符和偏移量之间的空白将用零字节(zerobytes, "\x00" )来填充。注意你能使用的最大偏移量是 2^29-1(536870911) ,因为 Redis 字符串的大小被限制在 512 兆(megabytes)以内。如果你需要使用比这更大的空间,你可以使用多个 key 。
redis 127.0.0.1:6379> set name 'zhangsan'
OK
redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379> setrange name 5 '_si'
(integer) 8
redis 127.0.0.1:6379> get name
"zhang_si"
redis 127.0.0.1:6379> get name3
(nil)
redis 127.0.0.1:6379> setrange name3 4 'lisi'
(integer) 8
redis 127.0.0.1:6379> get name3
"\x00\x00\x00\x00lisi"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"zhang_si"
redis 127.0.0.1:6379> mset name 'zhangsan' name2 'lisi' name3 'wangwu'
OK
redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379> get name2
"lisi"
redis 127.0.0.1:6379> get name3
"wangwu"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> set age 12
OK
redis 127.0.0.1:6379> get age
"12"
redis 127.0.0.1:6379> msetnx age 14 age1 34 age2 55
(integer) 0
redis 127.0.0.1:6379> get age1
(nil)
redis 127.0.0.1:6379> get age
"12"
redis 127.0.0.1:6379> msetnx key1 'hello' key2 'word'
(integer) 1
redis 127.0.0.1:6379> get key1
"hello"
redis 127.0.0.1:6379> get key2
"word"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> set name 'zhangshan'
OK
redis 127.0.0.1:6379> get name
"zhangshan"
redis 127.0.0.1:6379> append name ' is 12.'
(integer) 16
redis 127.0.0.1:6379> get name
"zhangshan is 12."
redis 127.0.0.1:6379> get addr
(nil)
redis 127.0.0.1:6379> append addr '32 env.'
(integer) 7
redis 127.0.0.1:6379> get addr
"32 env."
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> set name 'zhangsan'
OK
redis 127.0.0.1:6379> getrange name 0 4
"zhang"
redis 127.0.0.1:6379> getrange name 0 20
"zhangsan"
redis 127.0.0.1:6379> getrange name 0 -1
"zhangsan"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"zhangsan"
redis 127.0.0.1:6379> getset name 'lisi'
"zhangsan"
redis 127.0.0.1:6379> get name
"lisi"
redis 127.0.0.1:6379> get code
(nil)
redis 127.0.0.1:6379> getset code 'hello'
(nil)
redis 127.0.0.1:6379> get code
"hello"
redis 127.0.0.1:6379>
12, strlen 方法:
strlen 返回key的长度,如果key的值不存在时,返回0.
redis 127.0.0.1:6379> get name
"lisi"
redis 127.0.0.1:6379> strlen name
(integer) 4
redis 127.0.0.1:6379> get key0
(nil)
redis 127.0.0.1:6379> strlen key0
(integer) 0
redis 127.0.0.1:6379> get name
"lisi"
redis 127.0.0.1:6379> incr name
(error) ERR value is not an integer or out of range
redis 127.0.0.1:6379> set name 5
OK
redis 127.0.0.1:6379> incr name
(integer) 6
redis 127.0.0.1:6379> get name
"6"
redis 127.0.0.1:6379> get key0
(nil)
redis 127.0.0.1:6379> incr key0
(integer) 1
redis 127.0.0.1:6379> incr key0
(integer) 2
redis 127.0.0.1:6379> get key0
"2"
redis 127.0.0.1:6379>