分布式缓存Redis


通用命令

inf无穷
redis默认有16个数据库用的第0个,select可以切换数据库
key * 查看所有的key
flushdb 清除数据库
flushall 清除全部数据库
exists key 判断是否有这个key
move 移动key到另外的数据库
expire 设置key自动过期时间 -2是过期了
ttl key 查看当前key的剩余时间
type key 查看key对应的value是什么类型的
String类型:
append追加,不存在就新建
strlen获取长度
incr自动加一
decr自动减一
incrby可以设置步长,指定增量
getrange截取字符串
setrange替换指定位置的字符串
setex 设置过期时间
setnx 不存在就创建,存在就创建失败
mset 存放多个
mget 取多个
set user:1 {name:zhangsan,age:3} 或者 mset user:1:name zhangsan user:1:age 3 存放对象
list类型,命令前面加l

lpush将一个或者多个值插入列表头部(左)
rpush将一个或者多个值插入列表尾部(右)
lpop 左边的值移除
rpop 右边的值移除
lindex通过下标获取值
llen返回列表的长度
lrem移除指定的value
ltrim截取指定的长度
rpoplpush把左边集合的值移动到右边
lset将指定的值替换成其他的值
linsert插入值,后面可以跟 before和after
set中的值不能重复,开头是s

smember 查看指定值
sismember查看是否是set值
scard获取个数
srem移除指定的
srandmember随机抽取元素,后面加数字随机抽取指定个数
spop随即删除
sdiff差集
sinter交集
sunion并集
hash map集合 h开头 key value格式,对象最好用hash存储

hgetall获取全部值
hdel删除置顶的key字段
hexists判断是否存在
hkeys活着所有的filed
hvals活着所有的value
hincrby制定增量
hsetnx如果不存在可以设置
Zset(sorted set)有序集合,set k1 score1 v1
zadd添加一个值
zrem移除
zcard获取个数
特殊类型
geospatial,地图可以做附近的人等等
geoadd添加经、纬度、城市名字,不能添加两级
geopos获取指定的经纬度
georadius搜索指定经纬度多少半径之内的



Hyperloglog,基数统计的算法,不允许容错的话就是用set或者自己的数据类型

bitmaps

测试连接

redis事务,开启事务multi,执行exec,discard取消事务,详情看图片
redis单条命令保证原子性,但是事务不保证原子性




悲观锁:
乐观锁:watch 监视


springboot整合

RDB持久化



AOF持久化


区别


redis主从架构,slaveof命令认老大





redis哨兵
作用



RedisTemplate哨兵模式



数据迁移

java访问分片集群

缓存穿透和雪崩解决方案

jedis操作redis


springboot操作redis(spring data redis)



对应五中数据类型

自己的配置类


浙公网安备 33010602011771号