redis 入門筆記

# String
##set get
set mykey "abc"
get mykey

set counter 100

##incr counter
return 101

##incrby counter 10
return 111

##expire 設置超時時間
設置超時時間10秒。10秒後會被自動刪除
EXPIRE mykey 10

##EXPIREAT
與EXPIRE 類似,不同的是EXPIREAT用的是 UNIX 时间戳 Unix timestamp 。

##PERSIST 移除key的生存時間
PERSIST mykey

## exists
判斷key是否存在

## KEYS
查找所有符合給定模式pattern條件的key

##TTL:time to live
查詢key的剩餘有效時間(單位:秒),
-2表示已經被刪除,不存在。
-1表示key存在且沒有設置過期時間
TTL mykey

PTTL,與TTL類似,以毫秒為單位

#type 查看key的類型
type mykey

#Redis List
LPUSH 命令可向list的左边(头部)添加一个新元素,
而RPUSH命令可向list的右边(尾部)添加一个新元素。
最后LRANGE 命令可从list中取出一定范围的元素

注意LRANGE 带有两个索引,一定范围的第一个和最后一个元素。
这两个索引都可以为负来告知Redis从尾部开始计数,
因此-1表示最后一个元素,-2表示list中的倒数第二个元素,以此类推。

##lrange messages -2 -1

##llen list
獲取list的長度

#Redis Set
Redis集合是未排序的集合
##SADD 向集合添加一個新元素
sadd myset 1

##獲取set所有元素
smembers myset

##檢查元素是否存在
sismember myset 3

##獲取多個set的交集
SINTER key1 key2

sinter tag:1:objects tag:2:objects tag:5:objects tag:77:objects

##排序
sort list|set DESC|ALPHA|LIMIT 0 10|LIMIT 0 5 ALPHA DESC 

#Redis有序集合
##ZRANGE
返回hackers zset所有元素,按年齡排序
zrange hackers 0 -1
返回hackers zset所有元素,按年齡倒序
zrevrange hackers 0 -1
一个非常重要的小贴士,ZSets只是有一个“默认的”顺序,
但你仍然可以用 SORT 命令对有序集合做不同的排序(但这次服务器要耗费CPU了)。
要想得到多种排序,一种可选方案是同时将每个元素加入多个有序集合。

返回有序集合元素

##ZADD 添加zset元素
zadd hackers 1912 "Alan Turing"

##區間操作zrangebyscore
zrangebyscore hackers -inf 1950

有序集合scores可以在任何时候更新。
只要用 ZADD 对有序集合内的元素操作就会更新它的score(和位置),
时间复杂度是O(log(N)),因此即使大量更新,有序集合也是合适的。


#備份
將RDB文件(默認dump.rdb)複製備份到服務器之外。建議每天定時備份

#切換到AOF模式
为最新的 dump.rdb 文件创建一个备份。
将备份放到一个安全的地方。
执行以下两条命令:
redis-cli config set appendonly yes
redis-cli config set save "" #关闭 RDB 功能,可不執行,同時使用2種存儲方式

#client
##列出所有鏈接的client
client list

##kill client
client kill ip:port
client kill 192.168.3.227:62525
推薦: little redis book 中文版
https://github.com/JasonLai256/the-little-redis-book/blob/master/cn/redis.md

http://redis.cn/

猜你喜欢

转载自lhdst-163-com.iteye.com/blog/2234541
今日推荐