Redis五大数据类型及命令

默认16个数据库,类似数组下表从零开始,初始默认使用零号库,默认端口是6379
Select:命令切换数据库
Dbsize:查看当前数据库的key数量
FlushDB:清空当前库
FlushAll:清空所有库
统一密码管理
Redis索引都是从零开始

Redis的五大数据类型

  • String(字符串)
  • Hash(哈希,类似java里的map)
  • List(列表)
  • Set(集合)
  • Zset(sorted set:有序集合)

1.Redis健(key)

keys *: 查看当前库的所有Key
move k1 2:将k1移到2号库
exists key:判断 某个key是否存在
ttl key:查看还有多少秒过期,-1永不过期 -2已过期
DEL key:在key存在时删除key
expire key 秒钟:为给定key设置过期时间
type key:查看key是什么类型

2.Redis字符串(String)

set/get/del/append/strlen
Incr(decr):依次递增(减),一定要是数字才可以
incrby(decrby):递增(减)多个,一定要是数字才可以
getrange:获取指定区间范围内的值,类似between…and
setrange:设置指定区间范围内的值,格式是setrange key 值 具体值
setex(set with expire) 健 秒 值:set KV时指定存活时间
setnx(set if not exit) KV:如果不存在才set KV
mset(mget):一次设置(获取)多个KV(值)
msetnx:一次设置多个KV,只有都不存在的情况下才存入
getset key value:设置了新值同时获得旧值

3.Redis列表(List)

Rpush listname 值:怎么进怎么出,类似于队列
Lpush listname 值:与Rpush相反,类似于栈
rpoplpush k1 k2:从k1右边吐出一个值插到k2左边
Lrange:返回列表中指定区间内的元素, 0 表示列表的第一个元素,-1 表示列表的最后一个元素
lpop(rpop) listname:从左(右)开始出栈
lindex key index:按照索引下标获得元素(从上到下)
llen listname:查看list长度
lrem key n value:删除n个value(+n从左到右,-n从右到左,0为删除所有的该Value)
ltrim key 开始index 结束index:截取指定范围的值后在赋值给key
lset key index value:给某个index设置value
linsert key before(after) 值1 值2:将值2插入到值1之前(之后)
  • 它是一个字符串链表,left、right都可以插入添加;
  • 如果健不存在,创建新链表;
  • 如果健已存在,新增内容;
  • 如果值全移除,对应的健也就消失了;
  • 链表的操作无论是头和尾效率都极高,但对中间元素操作效率低

4.Redis哈希(Set)

sadd setname value:往set里添加value,不允许重复
smembers key:查看set里的所有value
sismember key value:如果成员元素是集合的成员,返回 1 。 如果成员元素不是集合的成员,或 key 不存在,返回 0
scard key:获取集合里面的元素个数
srem key value:删除集合中元素
srandmember key 某个整数:随机出几个数
spop key:随机出栈
smove key1 key2 在key1里某个值:将key1里某个值赋给key2
sdiff key1 key2:求差集,key1为参考集,key2为全集
sinter key1 key2:求交集,key1为参考集,key2为全集
sunion key1 key2:求两个set的并集

5.Redis(Hash)

KV模式不变,但V是一个键值对(kv)
hset Key key value:为Key里面的key添加value
hget Key key:获取Key里的key的value
hmset Key k1 v1 k2 v2 k3 v3:给Key设置多个kv
hmget Key k1 k2 k3:获取Key的多个k对应的v
hgetall Key:获取Key对应的所有key的value
hdel Key key:删除Key的key对应的value
hlen Key:获取Key的长度
hexists Key k:判断Key里面是否存在某个key,返回1或0
hkeys(hvals) Key:获取Key里面的所有key(value)
hincrby(hincrbyfloat) Key key 整数或小数:给Key里的key增加值
hsetnx:为哈希表中不存在的的字段赋值,如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作;如果字段已经存在于哈希表中,操作无效;如果key不存在,一个新哈希表被创建并执行HSETNX命令。设置成功,返回1,如果给定字段已经存在且没有操作被执行,返回0

6.Redis有序集合Zset(sorted set)

在set基础上,加一个score值,之前set是 k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2
zadd Key score1 v1 score2 v2:将一个或多个成员元素及其分数值加入到有序集当中
zrange Key start stop:返回有序集中,指定区间内的成员。
zrange Key start stop withscores:返回Key指定区间的score和value
zrangebyscore Key 开始score 结束score:返回有序集合中指定分数区间的成员列表。(:不包含, limit是返回限制
zrem Key 某score对应的value:删除Key的某个元素
zcard Key:返回Key的元素个数
zcount Key score区间:统计指定score区间内的元素个数
zrank Key value:返回Key中某个value的下标
zscore Key value:获得Key中某个value对应的score
zrevrank Key value:逆序获得下标值
zrevrange:逆序获得指定区间的value
zrevrangebyscore Key stop start: 逆序返回有序集中指定分数区间内的所有的成员 (可以用来实现文章访问量从大到小的排序)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值