基础知识:redis默认有16个库,下标从0开始
1、切换数据库命令(切换到1号库:select 目标库下标)
2、查看当前数据库大小,也就是key的数量(dbsize)
3、查看当前数据库所有的键(keys *)
4、清空当前数据库
5、清空所有数据库
6、基本命令
string类型是二进制安全的(也就是只要能用二进制表示,就能存到string里面,包括图片或者序列化对象),它是redis中最基本的数据类型,一个string最多可存512M 【建议收藏】细说Redis分布式锁
获取键的值的长度:strlen key
设置键和值,他与set不一样,只有当键不存在时才能设置成功
对值为数值的数据进行加减操作
一次设置多个值
一次设置多个,若设置的值当中,有一个存在,则都不会创建成功
设置和获取指定范围内的值
设置值并且指定过期时间
获取原来的值,并设置新的值
二、list(列表)类型
操作list的命令,自己看吧https://www.runoob.com/redis/redis-lists.html
三、set(集合)类型
set里面不会出现重复值,且内容是无序的
操作list的命令https://www.runoob.com/redis/redis-sets.html
四、hash类型
五、zset(有序集合)类型
除了以上五种基本数据类型,还有三大特殊数据类型
一、Geospatial
Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
Redis GEO 操作方法有:
1、geoadd:geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。
语法:
geoadd key 经度 纬度 地名 经度 纬度 地名 ... ...
2、geopos:获取地理位置的坐标(经度,纬度)
geopos key 地名
3、geodist:计算两个位置之间的距离。
单位可以是:m、km、mi(英里)、ft(英尺)
geodist key 地名1 地名2 单位
4、georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
georadius 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素
georadius key 经度 纬度 半径值 单位 [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key]
WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。
WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。这个选项主要用于底层应用或者调试, 实际中的作用并不大。
COUNT: 指定半径范围内显示的目标数量(半径内有100个,可以只显示50个)
5、georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
6、geohash:返回一个或多个位置对象的 geohash 值。
二、Bitmaps
用来统计用户是否访问过网站,访问为1,没有为0
设置值setbit:设置Bitmaps中某个偏移量的值(0或1),offset从0开始
setbit key offset value
获取值getbit:获取某个偏移量的值
getbit key offset
bitcount:统计字符串中偏移量的值为1的个数,默认统计整个字符串,也可以设置start和end来获取指定区间的个数
bitcount key start end
bitop:可以进行符合操作,它可以对多个Bitmaps进行and,or,not,xor操作并将结果保存在destkey中 Redis 突然变慢了如何排查并解决?
例如:20220526这天访问网站的用户id是:1、2、5、9
20220527这天访问网站的用户id是:0、1、4、9
计算出这两天都访问过网站的用户数量
and:与操作,都为1的时候才为1
or:或操作,有一个为1那就为1
三、Hyperloglog