$ redis-cli set mykey "my binary safe value"
OK
这样设置的值过期时间是-1,即永远不会过期的。 可以使用expire mykey 5
设置mykey的过期时间为5秒。
也可以设置过期固定时间,使用EXPIREAT命令。
expireat name 1316805000
查看是否过期或者是否存在使用exists命令。
get命令:
$ redis-cli get mykey
my binary safe value
incr、incrby和decr、decrby都是原子的对数值进行增加和减少的操作:
$ redis-cli set counter 100
OK $ redis-cli incr counter
(integer) 101
$ redis-cli incr counter
(integer) 102
$ redis-cli incrby counter 10
(integer) 112
mset批量写
$ redis-cli mset age 100 name mushui
$ redis-cli get age
"100"
mget批量读
$ redis-cli mget age name
1) "100"
2) "mushui"
append向字符串后面添加字符串:
$ redis-cli append name ' jingjing'
$ redis-cli get name
mushui jingjing
strlen获取字符串长度
$ redis-cli strlen name
19
substr获取部分字符串
$ redis-cli substr name 0 3
mush
$ redis-cli rpush messages "Hello how are you?"
OK
$ redis-cli rpush messages "Fine thanks. I‘m having fun with Redis"
OK
$ redis-cli rpush messages "I should look into this NOSQL thing ASAP"
OK
$ redis-cli lrange messages 0 2
1. Hello how are you?
2. Fine thanks. I‘m having fun with Redis
3. I should look into this NOSQL thing ASAP
注意LRANGE 带有两个索引,一定范围的第一个和最后一个元素。这两个索引都可以为负来告知Redis从尾部开始计数,因此-1表示最后一个元素,-2表示list中的倒数第二个元素,以此类推。 lpop命令从list左边弹出元素,rpop从列表右边弹出元素,实质和栈Stack类似。LLEN返回列表元素数量。
可以使用列表来实现聊天记录保存,或者保存博客的评论。
在上面的例子里 ,我们将“对象”(此例中是简单消息)直接压入Redis list,但通常不应这么做,由于对象可能被多次引用:例如在一个list中维护其时间顺序,在一个集合中保存它的类别,只要有必要,它还会出现在其他list中,等等。
例如新闻评论系统,用户提交的链接(新闻)添加到list中,有更可靠的方法如下所示:
$ redis-cli incr next.news.id
(integer) 1
$ redis-cli set news:1:title "Redis is simple"
OK
$ redis-cli set news:1:url "http://code.google.com/p/redis"
OK
$ redis-cli lpush submitted.news 1
OK
我们自增一个key,很容易得到一个独一无二的自增ID,然后通过此ID创建对象–为对象的每个字段设置一个key。最后将新对象的ID压入submitted.news list。 集合操作
Redis集合是未排序的集合,其元素是二进制安全的字符串。SADD命令可以向集合添加一个新元素。和sets相关的操作也有许多,比如检测某个元素是否存在,以及实现交集,并集,差集等等。
$ redis-cli zrangebyscore hackers -inf 1950
1. Alan Turing
2. Claude Shannon
3. Alan Kay
我们请求Redis返回score介于负无穷到1950年之间的元素(两个极值也包含了)。
也可以删除区间内的元素。例如从有序集合中删除生日介于1940到1960年之间的黑客。