目录
0.redis入门
SELECT 选择redis数据库
DBSIZE 查看redis数据库大小
key * 查看redis数据库所有的key
flushdb 清空当前数据库
1.String(字符串)操作
1.1常规字符串操作
set (key) (value) 存入字符串
get (key) 获得字符串
exists (key) 判断1个key是否存在(0-不存在,1-存在)
append (key) (value) 给1个key追加字符串,若这个key不存在,就新建这个key,并赋值
strlen (key) 获取1个key的长度
1.2.数字型字符串
set (key) (数字) 定义数字性字符串
get (key) 获得数字型字符串
incr (key)(n) 将数字型字符串数字加n,默认为1
decr (key) (n) 将数字型字符串数字减n,默认为1
1.3字符串截取和替换range
getrange (key) (start) (end) 截取字符串0开头,若end=-1就是截取全部
setrange (key) (start) (value) 替换指定位置开始的字符串
setex (key) (time) (value) 设置key的过期时间,过期后key就会消亡
setnx (key)(value) 创建key前判断是否存在该key,若存在就创建失败
ttl (key) 查看key的剩余过期时间
1.4.同时设置多个key
mset (key1) (value1) (key2) (value2)...... 同时设置多个key
mget (key1) (key2)...... 同时得到多个key
msetnx (key1) (value1) (key2) (value2)...... 同时设置多个key,判断是否存在,具有原子性,要么同时成功,要么同时失败。
1.5.json字符串和getset
set (对象):(id):(value) json存入
getset (key) (value) 先获得key的值再修改,不存在返回null
2.List(列表)操作
2.1.list基本操作
lpush (key) (values) 将一个值或多个值插入到列表头部left
rpush (key) (values) 将一个值或多个值插入到列表尾部right
lrange (key) (start) (end) 获取list的值 (-1输出全部)
Lpop (key) 移除list的第一个元素
rpop (key) 移除list的最后一个元素
lindex (key) (index) 获取index位置的元素
Llen (key) 获得list的长度
2.2. list复杂操作
lrem (key) (number) (value) 移除list集合中指定个数的value
ltrim (key) (start) (end) 截取部分list
rpoplpush (key1) (key2) 移除列表最后一个元素,加入到一个新list中
lset (key) (index) (value) 跟新index位置的值
linsert (key) before (value1) (value2) 在value1的前面插入value2
linsert (key) after (value1) (value2) 在value1的后面插入value2
2.3.list小结
3.Set(集合) 操作
3.1.set基本操作
sadd (key) (value) 向set中添加元素
smnembers (key) 查看set中全部元素
sismember (key) (value) 判断一个set是否含有该元素
scard (key) 获取set元素个数
srem (key) (value) 移除set中指定元素
3.2 .set复杂操作
srandmember (key) (N) 随机选择n个元素,默认1个
spop (key) 随机删除元素
smove (key1) (key2) (value) 将key1中的一个值拿到key2
sdiff (key1) (key2) 两个set的差集
sinter (key1) (key2) 两个set的交集
sunion (key1) (key2) 两个set的并集
4. Hash(哈希)操作
4.1.hash 基础操作
hset (key) (键1) (值1)(键2) (值2)..... 将多个键值对插入到hash
hget (key) (键1) (键2) 获得hash键的值
hgetall (key) 获得hash全部的键值对
hdel (key) (键) 删除hash 某个键值对
hlen (key) 获得hash键值对的个数
hexists (key) (键) 判断hsah 是否存在某个键值对
hkeys (key) 获得hash全部的键
hvals (key) 获得hash全部的值
3.2. hash进阶操作
hset (key) (键) (n) 将键的值增加n
hincrby (key) (键) (n) 将键的值减少n
hsetnx (key) (键) (value) 存在这个key则不能插入,安全
5. Zset(有序集合)操作
5.1.Zset基本操作
zadd (key) (index1) (value1) (index2) (value2).... 在zset中添加值
zrange (key) (start) (end) 显示zset的值
zrem (key) (value) 移除zset中的值
zcard (key) 获得zset元素的个数
zcount (key) (start) (end) 统计zset某个区间的元素个数
5.2.zset 复杂操作(排序)
zrangebyscore key (min) (max) (withscore) 从小到大排序输出元素和 index
附:redis小知识
6.Geospatial(地理位置)操作
城市经纬度查询:http://www.jsons.cn
官方文档:https://www.redis.net.cn/order/3685.html
代码:
geoAdd (key) (经度) (维度) (value) 添加城市
geopos (key) (value) 获得城市经纬度
georadius (key) (经度)(维度) (距离) (withdist) 获得某个地点附近的城市和距离
georadiusbymember (key) (value) (距离) 获得某个地点附近的城市和距离
geohash (key) (value1) (value2) 判断两个城市的距离,字符串越相似,越近
7.Hyperloglog(基数)操作
从一组数据中挑选不重复的数据
代码:
pfadd (key) (values)...... 创建一组元素
pfcound (key) 统计未重复的元素
pfmerge (key3) (key1) (key2) 将后面两组元素合并成前面的一组新元素
8.Bitmaps(打卡)操作
位存储:要么0,要么1
作用:统计有多少个0,或则多少个1,判断莫一天是0还是1
代码:
setbit (key) (m) (0/1) 设置莫一天的状态
getbit (key) (m) 获得某一天的状态
bitcount (key) 统计状态为1的天数