redis常用命令总结&集群搭建

原创
2015/01/01 00:02
阅读数 126
启动		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


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部