Redis五大数据类型
Redis的五大数据类型
String(字符串)
- 一个key对应一个value
- String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。
- 一个redis中字符串value最多可以使512M
- redis hash是一个键值对集合
- redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
Hash(哈希,类似java里的Map)
类似Java里面的Map<String,Object>
List(列表)
Redis列表是简单的字符串列表,按照插入顺序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
他的底层实际是个链表
Set(集合)
String类型的无序集合,不重复
Zset(sorted set:有序集合)
与set不同的是每个元素都会关联一个double类型的分数
Redis命令大全
Redis 键(key)常用案例
keys * 查询所有的key

exists key的名字,判断某个key是否存在

move key db 当前库就没有了,被移动到指定的库

expire key秒钟:为给定的key设置过期时间

ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
type key查看你的key是什么类型
Redis字符串(String)
单值单value
案例:
set/get/del/append/strlen

Incr/decr/Incrby/decrby,一定要数字才能进行加减


getrange/setrange
getrange:获取指定区间范围内的值,类似between……and的关系(0到-1表示)

setrange:设置指定区间范围的值,格式是setrange key值 具体指(从第几位开始更换为具体的值)

setex(set with expire)键秒值/sentx(set if not exist)


mset/mget/msetnx


getset(先get再set)
Redis列表(List)
单值多value
lpush(倒序保存)/rpush(正序保存)/lrange(查询)

lpop(删除第一个)/rpop(删除最后一个)

lindex,按照索引下标准获得元素(从上到下)

llen(list长度)

lrem key 删N个 value

ltrim key 开始index 结束index,截取指定范围的值后再赋值给key

rpoplpush源列表 目的列表


lset key index value(替换值)

linsert key before/after值1 值2(将值1之前/之后添加一个值2)

10. 总结:
他是一个字符串链表:left、right都可以插入添加
如果键不存在,创建新的链表
如果键已存在,新增内容
如果值全移除,对应的键也就消失了
链表的操作无论是头和尾效率都极高,但假如是对中间的元素进行操作,效率就很惨淡了
Redis集合(set)
单值多value
sadd(添加)/smembers(查询)/sismember(判断值是否存在)

scard,获取集合里面的元素个数

srem key value 删除集合中元素

srandmember key 某个整数(随机出几个数)

spop key 随机出栈

smove key1 key2 在key1里某个值 作用是将key1里的某个值赋给key2

数学集合类
a) 差集:sdiff(在第一个set里面而不在后面任何一个set里面的项)

b) 交集:sinter

c) 并集:sunion

Redis哈希(Hash)
KV模式不变,但V是一个键值对
hset(创建)/hget(获取)/hmset(创建多个)/hmget(查询多个)/hgetall(查询全部)/hdel(删除)



hlen(查询长度)

hexists key 在key里面的某个值的key(判断key是否存在)

hkeys(查看所有的键)/hvals(查看所有的值)

hincrby(给value值+整数值)/hincrbyfloat(给value值+小数值)

hsetnx(添加不存在的键值)

Redis有序集合Zset(sorted set)
在set基础上,加一个score值。之前set是k1 v1 v2 v3 现在zset是k1 score1 v1 score2 v2
zadd/zrange



zrangebyscore key 开始score 结束score
a) ( 不包含
b) Limit作用是反会限制 limit开始下标步 多少步



zrem key 某score下对应的value值,左右时删除原素

zcard /zcount key score区间 /zrank key values值,作用是获得下标志、zscore key对应值,获得分数




zrevrank key values值,作用是逆序获得下标

zrevrange(逆序)

zrvrangebyscore key 区间(逆序)


浙公网安备 33010602011771号