一 SETNX key value
1 含义
不存在键,才能设置成功。
2 实战
127.0.0.1:6379> SETNX newkey "I am a new key"
(integer) 1
127.0.0.1:6379> SETNX newkey "another new key here"
(integer) 0
127.0.0.1:6379> get newkey
"I am a new key"
二 mset key value [key value ...]和mget key [key ...]
1 含义
一次设置多个键值或一次获取多个键。
2 实战
127.0.0.1:6379> mset cakin::email cakin@qq.com cakin:qq tencent
OK
127.0.0.1:6379> MGET cakin:email cakin:qq
1) (nil)
2) "tencent"
127.0.0.1:6379> MGET cakin::email cakin:qq
1) "cakin@qq.com"
2) "tencent"
三 键的命名
因为Redis的数据库不能出现两个同名的键,所有我们使用field1::field2::field3这样的格式来区分同一类型的多个字符串键。
比如,就像上提交的用户那样,这样用户的email地址就不会冲突了。
一个更复杂的例子:
user::10086::info这个就可能是ID使用10086的用户信息。
news::sport::cache这个就可能是新闻类体育分类的缓存。
message::1213::content这个可能是ID为1213消息的内容。
两个冒号是大众习惯的分割符,也可以用自己习惯的分隔符来命名键。
比如:cakin/email cakin|email cakin.email,当然这个无所谓了,写程序统一风格就行了。