基本命令
包括SET , GET , INCR , DEL , EXPIRE , TTL
SET server:name "10"
GET server:name
INCR server:name
DEL server:name
INCR server:name
#Redis提供INCR操作,是因为防止并发导致++操作不能得到预期的结果,而INCR是原子性的操作,不会有并发问题.
SET resource:lock "Redis Demo"
EXPIRE resource:lock 120
# 使得resource:lock这个键在120秒后被删除.
TTL resource:lock
# 当返回正整数时,表示resource:lock还有多少秒过期
# 当返回-1时,表示该键不会过期(其实就是没有通过EXPIRE关键字设置过期时间)
# 当返回-2时,表示该键不再存在.
注意:当再次使用SET对已经声明过EXPIRE的键进行赋值,那么该EXPIRE声明将会失效,使用TTL将得到-1.如果有需要,则应当重新声明EXPIRE过期时间.
数据结构之LIST
主要命令包括 RPUSH , LPUSH , LLEN , LRANGE , LPOP , RPOP
RPUSH : 从list的尾部添加数据
LPUSH : 从list的头部添加数据
LRANGE : 截取list的一部分数据.
LRANGE friends 0 -1 # 返回list的所有数据
LRANGE friends 0 1 # 返回index从0~1 的数据(包括0和1)
LRANGE friends 1 2 # 返回index从1~2 的数据(包含1和2)
LLEN : 返回当前列表的长度
LPOP : 返回列表的第一个元素,并将它从列表中移除.
RPOP : 返回列表的最后一个元素,并将它从列表中移除.
数据结构之SET
主要命令包括 SADD , SREM , SISMEMBER , SMEMBERS , SUNION
SADD : 将指定的值添加到set集合中
SADD superpowers "flight"
SREM : 从set集合中删除指定元素
SREM superpowers "flight"
SISMEMBER : 验证给定值是否在该set集合中存在
如果存在,返回 1 ; 否则返回 0
SISMEMBER superpowers "flight"
SMEBERS : 返回该set集合中所有的元素
SUNION : 将两个甚至多个set集合合并,并返回合并后的所有元素
同理,合并时也会去重的,因为合并后也是个set集合.
不影响参与合并的源set集合
数据结构之SORTEDSET
有序的set集合.
ZADD , ZRANGE
ZADD hackers 1940 "Alan Key"
ZADD hackers 1906 "Grace Hopper"
ZADD hackers 1953 "Richard Stallman"
ZADD hackers 1965 "Yukihiro Matsumoto"
ZADD hackers 1916 "Claude Shannon"
ZADD hackers 1969 "Linus Torvalds"
ZADD hackers 1957 "Sophie Wilson"
ZADD hackers 1912 "Alan Turing"
ZRANGE hackers 2 4
ZADD 的第二个参数(比如1940)决定了 该元素在 有序set集合中的位置.
即SortedSet会按照第二个参数的大小 进行升序排列.
数据结构值HASHES
中文名称:散列. 是字符串形式属性与字符串形式的值之间的映射.
常用命令 : HSET , HGET , HGETALL , HINCRBY , HDEL
向对象添加属性 可以分开设置 , 也可以一次性设置多个属性的值
获取值可以使用HGETALL一次性取出所有属性的值,也可以通过 HGET 得到指定属性的值
HSET user:1000 name "John Smith"
HSET user:1000 email "john.smith@example.com"
HSET user:1000 password "secret"
HGETALL user:1000
HSET user:1001 name "Mary Jones" password "hideen" email "mjones@example.com"
HGET user:1001 name
HSET user:1000 visits 10
HINCRBY user:1000 visits 1 # display 11
HINCRBY user:1000 visits 10 # display 21
HDEL user:1000 visits