Redis基本命令和五种常见数据类型

一:127.0.0.1:6379> info      #可查看redis的基本信息
如:
内存使用情况、总内存。可用zabbix监控情况
127.0.0.1:6379> info Memory
客户端连接数也可以监控
127.0.0.1:6379> info clients

二:127.0.0.1:6379> select 1  #选择数据库0-15  (redis集群只支持0号数据库)
OK

三:127.0.0.1:6379> dbsize    #查看当前数据库数据条数
(integer) 10001

四:127.0.0.1:6379> flushdb   #清除当前数据库的所有key   flushall全删
OK
生产中建议修改配置使用rename-command禁用此命令
rename-command FLUSHALL ""  #flushdb和flushall配置和AOF功能冲突,需要设置  appendonly no
  
五:127.0.0.1:6379> keys *   #查看全部数据内容(单线程,容易阻塞,造成用户访问超时,访问到mysql数据库)

六:127.0.0.1:6379> shutdown #关闭redis服务
redis的五种常见数据类型
字符串string
命令:
set  key  value
get  key
del  key
setnx 判断

1、多个值处理
设置多个值:mset x 1 y 2 z 3
查看多个值:mget x y z
删除多个值:del x y x

2、可以设置有效期
set  key hongbao 100 ex 10   十秒过期

3、查看值长度并在值后面追加
set name meng
查看键对应值得长度
STRLEN name
(integer) 4
在值后面追加值
append name fanchao

4、判断key是否存在,返回1就是存在,0就是不存在
EXISTS name
(integer) 1  

5、判断key得有效期,-1是永久有效
ttl name
(integer) -1

6、调整键得有效期,并用ttl查看剩余有效期
EXPIPE name 10
(integer) 1  

ttl name,当返回的值为-2是,就没有了
(integer) -2 

7、数字递增(如计数器:点赞)
设置初始值:set num 0
开始递增:INCR sum
(integer) 1
开始递增:INCR sum
(integer) 2
开始递增:INCR sum
(integer) 3

递增三次后,查看此sum大小
get num 
"3"

8、数字递减(取消点赞)
取消点赞:DECR sum
(integer) 2
查看此sum大小
"2"

9、也可直接增加或减少多少
列表list (有次序,值可以重复)
1、获取列表指定位置元素数据
如:索引从左
a b c d e  
0 1 2 3 4
如:索引从右
 a  b  c  d  e  
-5 -4 -3 -2 -1

2、从左往里推数据
LPUSH key value
从右往里推数据
RPUSH key value


如:LPUSH name meng wang zhao 
meng wang zhao
  2    1    0
可用LINDEX查看编号对应得值
LINDEX name 1
"wang"
查看键对应的值有多少个
llen name
(integer) 3  
从左取出数据,弹出之后数据就没有了
LPOP name
从右取出数据,弹出之后数据就没有了
RPOP name 

3、列出0到-1的值
lrange listkey 0 -1

4、修改列表指定索引值
lset listkey 2 liu

查看数据类型
type name
集合set (无次序,但不能重复)
创建集合
SADD key
如:sadd myhobby history music sport (我的爱好:历史、音乐、运动)
   sadd yourhobby history music it game (你的爱好:历史、音乐、it、游戏)
取交集
SINTER key1 key2
如:SINTER mysbobby yourhobby
1) "history"
1) "music"

取并集
sunion key1 key2
取差集
sdiff key1 key2
有序集合zset (有序、无重复元素、元素由score和value组成,切score可以重复value不可重复,用于评分排序)
评分
如:zadd paihangbang 80 zhanlang 79 xiyouji 50 xiaoshidai

正序排
ZRANGE key 0 -1

倒序排
zrevange key 0 -1

查询指定数据排名
ZRANK course zhanlang

查询数据分数
ZSCORE course xiaoshidai

删除元素:ZREM course xiaoshidai
哈希hash (无序、里面由键值对组成)
设置hash值,
HSET  9527 name zhouxingxing age 20 (键9527,值里面又包括键值 键:name 值:zhouxingxing )
查询键的所有值:
hgetall 9527
在键中增加字段:如给9527增加性别
HSET 9527 gender male