启动 redis-server redis.conf
ping ping
读取配置 config get [config_settig_name|*]
设置配置 config set [CONFIG_SETTING_NAME] [NEW_CONFIG_VALUE]
客户端访问 redis-cli.exe -h 127.0.0.1 -p 6379 (默认情况下直接使用 redis-cli.exe)
客户端访问 redis-cli.exe shuntdown
echo 输出
选择数据库 select 数据库索引 (index=0,1,2,...16),注意,16是配置文件设置的大小,可以自行设定
遍历键 keys *
设置键值 set [keyName] [Value]
获取键值 get [keyName]
判断key是否存在 exists [keyName]-->存在返回值为1否则为0
删除键值 del [keyName]
获得数据类型 type [keyName] -->数据类型
增加 incr [keyName]
增加量 incrby [keyName] 2
浮点数 incrByFloat [keyName] 2.4
字符串追加 append [keyName] '.text'
获取字符串长度 strlen [keyName]
同时设置多个键值 mset [key1 value1] [key2 value2]...
同时获取多个键值 mget key1 key2
位运算 getbit/set [keyName 2]/[keyName 3 0或1]
bitcount获取自己为1的数量
bitcount start end
运算符 bitop OR/XOR/AND/NOT keyName1 keyName2
使用 散列映射 保存 json对象
hset keyName field name
hset car price 500
hset car name BWM
hset color white
hget car name
hget car price
hmset keyName [filed1 value1] [field2 value2]
hmget keyName [filed1] [field2]
获得整个对象
hgetall keyName
hexists keyName fieldName
当字段不存在时重新创建,否则no to do
hsetnx keyName filedname value
注意无法自增,但可以使用
hincrBy keyName keyName 1[,2...]
删除
hdel keyName field
hkeys keyName -->获取键
hvals keyName -->获取值
列表的操作(列表允许重复字段)
lpush/lpop [keyName value1 value2...]/keyName
rpush/rpop [keyName value1 value2...]/keyName
lindex keyName index -->获取索引指定的数据
ltrim keyName start end -->截掉索引范围之外的元素
lset keyName index value -->修改索引为index的数据
linsert keyName BEFORE/AFTER index value -->在索引为index的 前或后插入数据
rpoplpush srcKeyName destKeyName -->数据复制,将列表从source转移到 dest中
列表长 llen keyName
获得片段 lrange keyName startOffset(可以为负) endOffset(可以为负) --->闭区间
lrem keyName 5 1 ->删除列表中前5个值为1数据
------------------------------------------
删除HASH和列表直接使用 del keyname即可
-----------------------------------------
SADD key member1 [member2]
向集合添加一个或多个成员
2 SCARD key
获取集合的成员数
3 SDIFF key1 [key2]
返回给定所有集合的差集
4 SDIFFSTORE destination key1 [key2]
返回给定所有集合的差集并存储在 destination 中
5 SINTER key1 [key2]
返回给定所有集合的交集
6 SINTERSTORE destination key1 [key2]
返回给定所有集合的交集并存储在 destination 中
7 SISMEMBER key member
判断 member 元素是否是集合 key 的成员
8 SMEMBERS key
返回集合中的所有成员
9 SMOVE source destination member
将 member 元素从 source 集合移动到 destination 集合
10 SPOP key
移除并返回集合中的一个随机元素
11 SRANDMEMBER key [count]
返回集合中一个或多个随机数
12 SREM key member1 [member2]
移除集合中一个或多个成员
13 SUNION key1 [key2]
返回所有给定集合的并集
14 SUNIONSTORE destination key1 [key2]
所有给定集合的并集存储在 destination 集合中
15 SSCAN key cursor [MATCH pattern] [COUNT count]
迭代集合中的元素
multi--->exec
watch -->unwatch
watch-->multi-exec并不真正执行
expire keyName 20 -->生存期20秒
有序集合
zadd key [score权值] [name] [score权值] [name] ...
zAdd classroom 72 zhangsan 40 lisi wang 88
修改集合
zAdd class room 77 zhangsan
获得集合中元素的权值 zscore key name ---> zscore classroom zhangsan
按照权值获得names排名 zrange key startIndex endIndex
zrange classroom 0 3
获得names,并得到权值 zrange key startIndex endIndex withscores
根据权值范围得到names排名
zrangescore key score1 score2 [withscores]
zrangescore classroom 80 100
zrangescore classroom 80 100 withscores
zrangescore classroom (80 +inf ---->"("表示不包括 ,INF表示无穷,+INF正无穷,-INF-负无穷
zrangescore classroom 80 (100 --->包含80,不包含100
zrangescore classroom 60 +inf limit 1 3---->获取从索引1开始(第二个元素),前3个元素
为name增加 num数量
zincreby key num name
zcard key 获得集合中元素的个数
获得指定权值范围的元素个数
zcount score1 sconre2
删除元素
zrem key name
按照排序删除元素
zremrangebyrank key startIndex top
按照权值范围删除元素
zremrangebyscore key score1 score2
-------------------------------
flushall flushdb -->清空所有数据
-------------------------------
zintersore --->集合计算----》重点内容---》请查询网络
------------模拟队列-----------------
A> brpop mylist 0 --->0表示超时时间(单位秒),如果超时时间为0,则持续等待,直到获得消息,如果大于0,则在设定
的时间逝去后自动关闭阻塞状态
B> lpush mylist task1
----------------------------
安全防护,增加授权
http://redis.readthedocs.org/en/latest/connection/auth.html
redis> CONFIG SET requirepass secret_password # 将密码设置为 secret_password
Redis集群搭建
http://my.oschina.net/u/780876/blog/546071