Ubuntu 16.04 Redis配置及常用命令

安装:

点击打开链接

 Redis 有点像一个大Map,根据key value 存储 value 可以放基本类型 

基本类型:1)·字符串

                 2)hash类型

                 3)·set类型

                 4)·list类型

                 5)·sortedset类型 (排序的set)

1)· 字符串类型:

        

Get xxx   得到ket为xxx的值

Set xxx  yyy  设置xxx的值为 yyy

Getset  xxx  yyy  得到并这只xxx的值为yyy 


Del xxx  删除xxx的key 和值

Ince xxx  把xxx的值++  redis 会自动转为int  类型不匹配的话 会报错 
如果key的对象不存在初始值为0 

Decr xxx  把xxx的值--  

Increby  xxx   value 把xxx的值加value

Decreby xxx value 

Append  xxx  value 
回车后显示的是字符数

2)· hash类型:

Hset key  field   value 
设置key 中 field 为value
Hget key field  
得到key 中field 的 值

Hmset key field1 value2  field2 value2 …  …  设置多个值

Hmget key  field1 field2  field3 field4  得到多个值 

Hgetall key  获取key中所有的key value值 

Hdel key field 删除key 中key为field的 key 值

Hincrby  key  value  field  increment  找到key的value增长 increment 

Hlen  key  获取key中的数量 

Hkeys  key  获取 hash  中的 keys  

3)· set类型:(和java set一样 无序 不允许重复)

Sadd  key  value1 value2 value3 value4 … 
key不存在会创建一个key的对象 
Smembers key  通过key得到set类型中的value 

Srem  key  value  value2 …. 
删除key中某个value 

Sismember  key  value 判断value是不是set中的成员  0 不存在 1 存在 

【差集】Sdiff   key1  key2    返回key1 中 比key2 多的值  即 key1 中存在 key2中不存在

【交集】sinnner  key1  key2  ..  交集 共有的数据 

【并集】 sunion key1 key2 …. 返回并集 所有a +b 的数据 

 scard key  返回 key中有多少值
 
Srandmember key  返回key中随机几个值 集体看后面有没有count属性没有就一个  【count 】 

Sdiffstore  destination key1 key2  将key1 与 key2 的差集 存储到destination中

Sinnterstore destination key1 key2 将key1 与 key2 的交集 存储到destination中

Sunionstore destination key1 key2 将key1 与key2 的并集 存储到destination中 

4)·sortedset类型:

Zadd key 权重 value1 权重2 value2 .。。。

Zcard  key  查看成员数量 

Zscore key  key2 查看key2 的 权重

Zrange key  start end  [withscores ] [ limit  start  offset ]查询  limit 分页查询  

Zrem key  innerkey  删除key中 innerkey对象和值 
	
Zrevrange key  start end  【withscores】
倒叙查看   

Zremrangebyrank key start end    排好序后 从start 到end 删除  闭区间

Zremrangebyscore key min max  根据排好序的score 删除  闭区间 

Zincreby key  权重 key2 为key2 添加多少权重   排行榜。

Zcount key start end  查看start到end 有多少人 有多少个 

Zrank key key2  查看key2 在key中的排名  默认是从小到大

Zrevrank key key2  倒叙查看 默认是从大到小

5)·list类型:

Lpush key value1 value2 value3 ….  l代表从左侧压  r 右侧
设置值
Lrange key start end  
取值  end 如果为-1 表示查全部
 
Lpop key  从左边弹出 key

Rpop key 从右边弹出 key

Lpushx key  如果key存在插入 不存在不插入

Rpushx key  从右边

Lrem key  count value  删除count个值为value的值
如果count为0 表示删除全部值为value的值 
没有rrem命令  想从右边删除  -count 负号 


替换:
Lset  key index value  


插入 
linsert  key  brfore| after  target value 
在b的后面插入:  linsert key after b xxx
a b c d  -> a b c xxx d 


Rpoplpush  source destinnation 

从source 的右边弹出一个 到的destinnation的左边 
可以完成一个消息队列 

全局命令:

Keys  对key的操作  :   
	• Keys * 查找所有的key 
		 example: keys my*  查找所有myXXXX的key
	

• Del  key1 key2  key3  删除key为keyxxx的对象 


• Exists key1 key2 key3  是否存在

• Rename key  value  重命名key 为 value 

• Expire key  value   设置key的逝世时间为value     单位 秒

• Ttl  key  查看key的剩余时间  
• 没设置逝世时间返回-1   
• 设置了超时并且已经过世 返回-2

• Type key  查看key是什么类型的

Ø 移库 
Ø 默认有16个库 默认操作在0库  修改配置在redis.conf 下修改
Ø 切换库:
		○ Select  库索引   从0开始
		○ Move  index   destination 
		



Flushall  删除 所有 key对象

事务:

开启事务:

Multi  开启事务 开启事务后和mysql一样放到队列中等待执行
Exec 执行事务 并不会像mysql一样 它是能执行的执行 不能执行的不执行 
Discard 回滚事务 队列中的都不执行 

持久化:

	1. RDB 默认就是这种设置  数据多的时候 适合用这种  比较注重结果 可能会丢失数据(时间差内没保存快照) 在某个时间点存 配置 信息在redis.conf  默认是 save 900 1 save 300 10 save 60 10000  意思是 900秒 修改1次 key 保存快照 300秒修改10次key 保存快照 60秒修改10000次key 保存快照 
	2. AOF 以日志的形式记录,开始Aof会根据日志来保持数据一致  比较注重过程 它会根据日志来保存 默认没开 在redis.conf里配置  appendonly yes 
	有三种机制	always	                Everysec    	No
		        数据修改就会写如aof文件	每秒同步1次	不会持久化

	3. 两种可以同时使用

你可能感兴趣的:(redis)