geospatial地理位置
Redis的Geo可以推算出地理位置信息,两地之间的距离
geoadd 添加地理位置
geopos 获取坐标值
geodist 获取两地之间的距离 (可以设置单位)
georadius 获取指定经纬度,并在指定范围内的数据(withdist 显示距离,withcorrd显示经 纬度,count筛选指定数目的数据)
georadiusbymember 获取指定元素范围内的数据
Hyperloglog基数统计
pfadd 添加元素
pfcount 计算元素中的基数的数量
pfmerge 求两个集合中的并集
Bitmap位存储
统计用户信息,登录|不登录 活跃|不活跃 操作二进制数进行记录。
1.记录周一到周日打卡
sitbit 用二进制来记录打开天数
getbit 判断当前日期是否打卡
bitcount 统计打卡天数
Redis基本事务操作
redis单条命令式保存原子性的,但是事务不保存原子性。
redis的事务:1.开启事务
2.命令入队
3.执行事务
multi 开启一个事务
exec 执行事务
discard 取消事务
redis实现乐观锁
正常执行,使用watch关键词进行监视
测试多线程修改值,监视失败
进行增加和修改操作以后,不执行事务,再开启一个线程,当重新修改money中的值以后,再执行事务就会返回null
使用unwatch进行解锁,如果修改失败,获取最新的值即可,
线程1当前money=100 当线程2执行set money后,再在线程1中执行exec则返回null,需要使用unwatch进行解锁,
再进行修改即可。
此笔记来与哔哩哔哩:狂神说