命令:
MSET 设置多个值,如 MSET a http://www.baidu.com b http://qq.com
MGET 获取多个值,MGET a b
INCRBY 按数值递增
DECRBY 按数值递减
事务:
REDIS MULTI块原子命令是类似事务的概念
例如: MULTI
SET prag http://pragprog.com
INCR count
EXEC
可以使用 DISCARD 停止事务:该命令将清除事务队列,不同于ROLLBACK,它不会恢复数据库
只是根本不运行事务,尽管底层的概念不同,但效果是相同的。
REDIS 受欢迎的地方在于:可以存储列表,哈希表,集合和有序集合,每个键可以包含大量的值:最多2的32次方,即超过40亿
哈希表: MSET user:eric:name "eric redmond" user:eric:password 123456
MGET user:eric:name user:eric:password
或者
HMSET user:eric name "eric redmond" password 123456
HVALS user:eric 可以获取所有哈希值
HKEYS user:eric 可以获取所有哈希键
HGET user:eric password 获取单个值
不同于文档数据库,REDIS的哈希表不能嵌套,即哈希表只能存储字符串值
列表: RPUSH eric:wishlist 7wks gog prag
LRANGE eric:wishlist 0 -1, 负的位置是从末尾开始算起。
LREM eric:wishlist 0 gog, 0:删除所有,大于0删除这个数目的匹配值,负数删除该数目的匹配值,但从末尾扫描
LPUSH 和 RPOP命令实现队列
LPUSH 和 LPOP 实现栈的效果
集合: SADD news sohu.com sina.com
SMEMBERS news, 顺序不确定
SADD tech tech1.com sohu.com
SINTER news tech , 找到交集
SDIFF news tech , 删除差集
SUNION news tech, 并集
SUNION websit news tech, 将并集存储到一个新的集合中
有序集合: ZADD visits 500 7wks 600 gog 700 prag
ZINCRBY visits 1 prag
ZRANGE visits 0 1
ZREVRANGE visits 0 -1 WITHSCORES
ZRANGEBYSCORE visits 9 9999, 分数 9<= 分数 <= 9999
ZRANGEBYSCORE visits (9 9999, 分数 9< 分数 <= 9999
到期: SET ice "i am melting...."
EXPIRE ice 10
Redis 命名空间称为数据库,以数字为键,默认为0
SET greeting hello
GET greeting
通过SELECT 切换到另一个数据库
SELECT 1
GET greeting
(nil)
Redis 允许用MOVE命令在不同命名空间移动键
MOVE greeting 2
SELECT 2
GET greeting