redis一共16个数据库,默认为第0个,命令不区分大小写
简单命令
select (index) :选择数据库
flushdb :在某个数据库下清空该数据库
flushall :清空全部数据库
set 键 值 :设置键值对
get 键 :得到值
keys * :得到该数据库所有键名
EXISTS name :判断是否存在该键名
move name (index):移除某库的该键名
EXPIRE name (time) :设置该键名多久(秒)后过期
ttl name :该键名剩余过期时间(秒)
type name :查看键的类型
string类型
APPEND 键 值 :往键的值后追加值(拼接)
STRLEN 键 :查看字符串长度
incr 键 :键的值+1
decr 键 :值-1set
INCRBY 键 num :键的值+num
DECRBY 键 num :值-num
GETRANGE 键 num1 num2 :查询字符串num1到num2中的内容
GETRANGE 键 0 -1 :查询字符串全部的内容,等同 “get key”
SETRANGE 键 num 值 :从第num位置开始替换为该值,值长度后的原值不变
setex 键 time 值 :创建键值和过期时间
setnx 键 值 :如果键不存在直接创建,如果键已存在则返回0,创建失败
mset 键1 值1 键2 值2... :创建多个键值对
mget 键1 键2... :查看多个键值
msetnx 键1 值1 键2 值2... :如果键不存在直接创建,如果键已存在则返回0,创建失败。即使不存在和存在共有也失败
set user:1 {name:zhangsan,age:18} :设置一个user:1对象,值为json字符来保存一个对象
mset user:1:name zhangsan user:1:age 2 :巧妙设计user:{id}:{filed}
mget user:1:name zhangsan user:1:age 2 :巧妙设计user:{id}:{filed}
getset 键 值:如果不存在值,则返回nil,并创建该值;如果存在值,则返回原值,并替换该值
list
可以把list玩成栈、列表(值可相同),几乎所有命令都是l开头
LPUSH 列表 值 :向某列表头部中压入一个或多个值(可新建)
Rpush 列表 值 :向某列表尾部中压入一个或多个值(可新建)
LRANGE 列表 num1 num2:查看某列表中num1--num2的值(0,-1)为全部
LPOP 列表 :从列表头部移除第一个值
RPOP 列表 :从列表尾部移除第一个值
lindex 列表 num :通过下标获得列表中的某一个值
Llen 列表 :返回列表的长度
lrem 列表 num 值 :从列表中移除num个值
ltrim 列表 num1 num2 :通过下标截取指定的长度,改变原列表。
rpoplpush 列表1 列表2 :把列表1最后的元素移动到列表2头部(没有则新建)
lset 列表 num 值 :将列表中指定下标num的值更新为该值(不存在报错)
linsert 列表 before/after 值1 值2 :在列表的值1之前或之后插入值2
set(集合)
无序不重复集合,命令都以s开头
sadd 集合 值 :向该集合下添加值
SMEMBERS 集合 :查看该集合下所有值
SISMEMBER 集合 值 :判断该集合下是否有该值
scard 集合 :获取集合中的值个数
srem 集合 值 :从集合中移除该值
SRANDMEMBER 集合 num :从集合中随机选出num个值,默认为1个
spop 集合 :从集合中随机移除一个值,返回该值
smove 集合1 集合2 值 :从集合1中把值移到集合2中
SDIFF 集合1 集合2 :集合1对于
集合2中的差集(返回集合1的不同)
SINTER 集合1 集合2 :集合1与集合2的交集
SUNION 集合1 集合2 :集合1与集合2的并集
常用于微博之类,共同好友、共同关注、推荐好友
Hash
Map集合,key-map,map是一个key-value集合。命令以h开头
hset 哈希 (键 值) :“不需要括号”,向哈希中插入一个键值对
hmset 哈希 键 值 ......:向哈希中插入多个键值对
hget 哈希 键 :获取一个键的值
hmget 哈希 键1 键2... :获取多个键的值
hgetall 哈希 :获取哈希的全部数据(键和值)
hdel 哈希 键 :删除哈希中指定的键(值)
hlen 哈希 :获取哈希长度(多少个键值对)
hexists 哈希 键 :判断哈希中指定键是否存在
hkeys 哈希 :获取哈希中所有键名
hvals 哈希 :获取哈希中所有值
HINCRBY 哈希 键 num :键的值+num
hsetnx 哈希 键 值 :如果键不存在直接创建,如果键已存在则返回0,创建失败
哈希用于:常变更的数据,hash更适合于对象存储,string各个适合字符串存储
Zset(有序集合)
在set的基础上,增加了一个值,zset k1 score1 v1,所有命令都以z开头
zadd 集合 score1 值1 score2 值2:向一个集合中添加值,并设置标记(按大小排序用,score只能是数字,代表下标)
zrem 集合 值 :从集合中随机移除该值
ZRANGBYSCORE 集合 min max :返回指定范围的值(正序)
ZRANGBYSCORE 集合 min max withscores :返回指定范围的值(正序),并带着scores参数
ZRANGE 集合 num1 num2 :查询字符串num1到num2中的内容(不包含mun1)
zcard 集合 :获取集合中值得个数
ZREVRANGE 集合 0 -1 :从大到小进行排序(倒序)
zcount 集合 score1 score2 :获取集合中指定区间内值的个数
常用于成绩排序,工资排序,各种排行榜