Redis(01)——常用指令

news2025/1/12 17:22:35

基础指令

  1. select 数字:切换到其他数据库
  2. flushdb:清空当前数据库
  3. flushall:清空所有数据库
  4. dbsize:查看数据库大小
  5. exists key1[key2 …]:判断当前的key是否存在
  6. keys *:查看所有的key
  7. expire key 时间:设置过期时间,单位:秒
  8. ttl key:查看当前key的剩余时间
  9. type key:查看key类型
  10. strlen key:获取key的长度
  11. move key 数字n:移除当前key到数据库(数字n)
  12. del key1[key2 …]:删除key

image.png

字符串string

  1. set key value:存储
  2. get key:获取
  3. getset key value:先get后set
  4. mset key1 val1[key2 val2…]:同时设置多个
  5. mget key1[key2…]:同时获取多个
  6. append key value:向key后面追加字符串,如果当前key不存在,就相当于set
  7. incr key:key的value值自增1,如果value是字符串,则报错
  8. decr key:key的value值自减1,如果value是字符串,则报错
  9. incrby key increment:key的value值增加increment,如果value是字符串,则报错
  10. decrby key decrement:key的value值减少decrement,如果value是字符串,则报错
  11. getrange key start end:获取[start,end]的字符串
  12. setrange key offset value:替换offset指定位置开始的字符串
  13. setex key seconds value(set with expire):设置过期时间
  14. setnx key value(set if not exist):不存在再设置
  15. msetnx key1 val1[key2 val2 …]:要么一起成功,或一起失败

列表list(linkedlist)

可以添加一个元素到列表的头部(左边)或者尾部(右边)

  1. lpush key val1[val2 val3…]:插到列表左部
  2. rpush key val1[val2 val3…]:插到列表右部
  3. lpop key:从列表左部删除一个元素
  4. rpop key:从列表右部删除一个元素
  5. rpoplpush key1 key2:移除列表的最后一个元素,将它移动到新的列表中
  6. lset key index val:设置key的index下标位置的值为val,只有存在这个下标才可以使用
  7. linsert key before val1 val2:将某个val1插入到列表中val2的前面
  8. linsert key after val1 val2:将某个val1插入到列表中val2的后面
  9. lindex key index:获取列表指定index下标索引的元素
  10. lrange key start end:获取[start end]的元素(end为-1时即列表中全部元素)
  11. llen key:获取列表长度
  12. lrem key count val:移除list集合中count指定个数的val,从前往后删除,精确匹配
  13. ltrim key start end:截取list的[strart,end]之间的所有元素,这个key已经被改变了,只剩下截取的元素

哈希hash(map)

  1. hset key field value:添加一个hash值
  2. hget key field:获取指定key的field的值
  3. hmset key field1 val1 field2 val2…:添加多个值
  4. hmget key field1 field2…:获取多个field的值
  5. hgetall key:获取key中的所有值
  6. hdel key field:删除key中指定的field值
  7. hlen key:获取key中元素的个数
  8. hexists key field:判断key中field是否存在
  9. hkeys key:获取key中所有的field
  10. hvals key:获取key中所有的val
  11. hincrby key field 数字n:给hash中的字段增加n
  12. hsetnx key field val:如果存在则可以设置,否则不行

集合set

  1. sadd key val:向key集合添加元素
  2. smembers key:查看指定key的所有元素
  3. sismember key val:查看指定key的指定val元素
  4. scard key:获取key集合的元素个数
  5. srem key val:移除指定key的指定元素
  6. srandmember key 数字n:获取指定集合的n个随机元素
  7. spop key:随机删除key集合的元素
  8. smove key1 key2 val:将集合指定的值移动到另一个集合中
  9. sdiff key1 key2:差集
  10. sinter key1 key2:交集
  11. sunion key1 key2:并集

有序集合sortedset(不允许重复元素)

  1. zadd key score val:向key添加元素
  2. zrange key 数字1 数字2:显示key中数字1到数字2的字段
  3. zrangebyscore key -inf +inf:显示成绩在负无穷到正无穷全部的用户,从小到大
  4. zrangebyscore key -inf +inf withscores:显示全部的用户并附带成绩
  5. zrem key val:移除key中的指定元素
  6. zcard key:获取key中元素的个数
  7. zrevrange key 数字1 数字2:将key中的值从大到小排序
  8. zcount key min max:获取key中指定区间成员的数量

基数统计HyperLogLog

  1. pfadd key val1 val2…:添加,影响基数估值则返回1,否则返回0,若key不存在则创建
  2. pfcount key:获得基数值
  3. pfmerge key key1 key2…:把key1和key2等合并为key
127.0.0.1:6379> pfadd m1 1 2 3 4 1 2 3 2 2 2 2
(integer) 1
127.0.0.1:6379> pfcount m1
(integer) 4
127.0.0.1:6379> pfadd m2 3 3 3 4 4 4 5 5 5 6 6 6 1
(integer) 1
127.0.0.1:6379> pfcount m2
(integer) 5
127.0.0.1:6379> pfmerge mergeDes m1 m2
OK
127.0.0.1:6379> pfcount mergeDes
(integer) 6

使用场景

  1. 统计注册IP数
  2. 统计每日访问IP数
  3. 统计页面实时UV数
  4. 统计在线用户数
  5. 统计用户每天搜索不同词条的个数

位图bitmap

位图(bitmap)同样属于string数据类型,Redis中一个字符串类型的值最多能存储512MB的内容,每个字符串由多个字节组成,每个字节又由8个Bit位组成。位图结构正是使用“位”来实现存储的,它通过将比特位设置为0或1来达到数据存取的目的,这大大增加了value存储数量,它存储上限为2^32

  1. setbit key offset value:在对二进制位进行设置之后,将返回二进制位被设置之前的旧值作为结果
  2. getbit key offset:获取位图指定偏移量上的二进制位的值
  3. bitcount key [start end]:统计位图中值为1的二进制位数量
  4. bitpos key value [start end]:在位图中查找第一个被设置为指定值的二进制位
  5. bitop operation destkey key[key…]:对一个或多个位图执行指定的二进制位运算,并将运算结果存储到指定的键中

使用场景

  1. 用户签到
  2. 统计活跃用户(用户登录情况)
  3. 统计用户是否在线
  4. 实现布隆过滤器

GeoHash

  1. geoadd 集合名称 经度 维度 元素 …:指定携带集合名称以及多个经纬度名称三元组
  2. geodist 集合名称 元素1 元素2 距离单位:用来计算两个元素之间的距离
  3. geopos 集合名称 元素1 …:获取集合中任意元素的经纬度坐标
  4. geohash 集合名称 元素:获取元素的经纬度编码字符串
  5. georadiusbymember 集合名称 元素 数字 距离单位 count 数据 排序方式:查询指定元素附近的其他元素
127.0.0.1:6379> geoadd company 116.489033 40.007669 meituan
(integer) 1
127.0.0.1:6379> geoadd company 116.562108 39.787602 jd 116.334255 40.027400 xiaomi
(integer) 2
127.0.0.1:6379> geodist company juejin ireader km
"10.5501"
127.0.0.1:6379> geopos company ireader
1) "116.5142020583152771"
2) "39.90540918662494363"
127.0.0.1:6379> geopos company juejin ireader
1) "116.48104995489120483"
2) "39.99679348858259686"
1) "116.5142020583152771"
2) "39.90540918662494363"
127.0.0.1:6379> geohash company ireader
1) "wx4g52e1ce0"


# 范围 20 公里以内最多 3 个元素按距离正排,它不会排除自身
127.0.0.1:6379> georadiusbymember company ireader 20 km count 3 asc
1) "ireader"
2) "juejin"
3) "meituan"
# 范围 20 公里以内最多 3 个元素按距离倒排
127.0.0.1:6379> georadiusbymember company ireader 20 km count 3 desc
1) "jd"
2) "meituan"
3) "juejin"
# 三个可选参数 withcoord withdist withhash 用来携带附加参数
# withdist 很有用,它可以用来显示距离
127.0.0.1:6379> georadiusbymember company ireader 20 km withcoord withdist withhash count 3 asc
1) "ireader"
2) "0.0000"
3) (integer) 4069886008361398
4) "116.5142020583152771"
5) "39.90540918662494363"
1) "juejin"
2) "10.5501"
3) (integer) 4069887154388167
4) "116.48104995489120483"
5) "39.99679348858259686"
1) "meituan"
2) "11.5748"
3) (integer) 4069887179083478
4) "116.48903220891952515"
5) "40.00766997707732031"

127.0.0.1:6379> georadius company 116.514202 39.905409 20 km withdist count 3 asc
1) "ireader"
2) "0.0000"
1) "juejin"
2) "10.5501"
1) "meituan"
2) "11.5748"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入Matplotlib:画布分区与高级图形展示【第33篇—python:Matplotlib】

文章目录 Matplotlib画布分区技术详解引言方法一:plt.subplot()方法二:简略写法方法三:plt.subplots()实例展示添加更多元素 进一步探索Matplotlib画布分区自定义子图布局3D子图结语 Matplotlib画布分区技术详解 引言 Matplotlib是一个强大…

第13节-简历中的开放性问题

(点击即可收听) 不少公司的开放式题目每年不会有太大的变化,所以在答题前可先去相关求职论坛看看这些公司往年的问题,分析和思考自己应当怎么回答 开放式问题回答技巧 开放式问题主要考察的是求职者的求职动机、解决问题的能力、创造力等软实力&#xff…

C++入门之基础语法

目录 一.关键字 二.命名空间 2.1命名空间域 2.2展开命名空间域 using namespace bit 使用using将命名空间中的某个成员引入 2.3 头文件#include 2.3.1 头文件的展开和命名空间的展开区别 2.4 C的标准的库命名空间std 2.5 命名空间的套娃 三. C输入输出 3.1 流插入co…

线性代数:逆矩阵

目录 伴随阵 逆矩阵 证明:AA* A*A |A|E 证明:|A| 0 > |A*| 0 伴随阵 逆矩阵 证明:AA* A*A |A|E 证明:|A| 0 > |A*| 0

项目管理该考哪个证书❓NPDP还是软考❓

有小伙伴在纠结是要考NPDP认证呢还是考软考呢❓ 今天小编要给大家好好说说NPDP认证❗️ 💡NPDP全称New Product Development Professional,也就是产品经理国际资格认证。 🔥NPDP是国际公认的为一的新产品开发专业认证,是集理论、方…

JVM系列-2.字节码文件详解

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术、JVM原理🔥如果感觉博主的文…

(超详细)6-YOLOV5改进-添加ECA注意力机制

1、在yolov5/models下面新建一个EfficientChannelAttention.py文件,在里面放入下面的代码 代码如下: import torch, math from torch import nnclass EfficientChannelAttention(nn.Module): # Efficient Channel Attention moduledef __ini…

uniCloud uni-id体系的使用

目录 简介 uni-id导入和配置 用户表与文章表关联foreignKey 字段级权限控制 指定数据集权限控制 权限规则的变量和运算符 简介 uni-id已完成的功能: 注册、登录、发送短信验证码、密码加密保存、修改密码、忘记密码、头像管理、token管理、rbac权限角色体系、…

CVPR 2023 Hybrid Tutorial: All Things ViTs之mean attention distance (MAD)

All Things ViTs系列讲座从ViT视觉模型注意力机制出发,本文给出mean attention distance可视化部分阅读学习体会. 课程视频与课件: https://all-things-vits.github.io/atv/ 代码: https://colab.research.google.com/github/all-things-vits/code-samples/blob/main/probing/m…

2024年【河北省安全员B证】最新解析及河北省安全员B证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 河北省安全员B证最新解析是安全生产模拟考试一点通生成的,河北省安全员B证证模拟考试题库是根据河北省安全员B证最新版教材汇编出河北省安全员B证仿真模拟考试。2024年【河北省安全员B证】最新解析及河北省…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-热门标签推荐显示实现

锋哥原创的SpringbootLayui python222网站实战: python222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火…

【Spring 篇】MyBatis注解开发:编写你的数据乐章

欢迎来到MyBatis的音乐殿堂!在这个充满节奏和韵律的舞台上,注解是我们编写数据乐章的得力助手。无需繁琐的XML配置,通过简单而强大的注解,你将能够轻松地与数据库交互。在这篇博客中,我们将深入探讨MyBatis注解开发的精…

5G_射频测试_发射机测量(四)

6.2 Base station output power 用于测量载波发射功率的大小,功率越大小区半径越大但是杂散也会越大 载波功率(用频谱仪测)天线口功率(用功率计测)载波功率是以RBW为单位的filter测量的积分功率不同带宽的多载波测试时…

一文读懂「RAG,Retrieval-Augmented Generation」检索增强生成

Retrieval-Augmented Generation(RAG)作为机器学习和自然语言处理领域的一大创新,不仅代表了技术的进步,更在实际应用中展示了其惊人的潜力。 RAG结合了检索(Retrieval)和生成(Generation&#…

项目解决方案:多地医馆的高清视频监控接入汇聚联网

目 录 一、背景 二、建设目标及需求 1.建设目标 2.现状分析 3.需求分析 三、方案设计 1.设计依据 2.设计原则 3.方案设计 3.1 方案描述 3.2 组网说明 四、产品介绍 1.视频监控综合资源管理平台介绍 2.视频录像服务器和存储 2.1概述 2.2存储设计 …

蓝桥杯省赛无忧 编程9

#include<bits/stdc.h> using namespace std; int main() {int n,k,ans0;cin>>n>>k;while(n--){int a;cin>>a;ansa&1;}if(ans&1) cout<<"Alice"<<\n;else cout<<"Bob"; return 0; }这个游戏是基于数…

软件工程应用题汇总

绘制数据流图(L0/L1/L2) DFD/L0&#xff08;基本系统模型&#xff09; 只包含源点终点和一个处理(XXX系统) DFD/L1&#xff08;功能级数据流图&#xff09;在L0基础上进一步划分处理(XXX系统) 个人理解 DFD/L2&#xff08;在L1基础上进一步分解后的数据流图&#xff09; 数据…

3.php开发-个人博客项目输入输出类留言板访问IPUA头来源

目录 知识点 : 输入输出 配置环境时&#xff1a; 搜索框&#xff1a; 留言板&#xff1a; 留言板的显示&#xff08;html&#xff09;&#xff1a; php代码显示提交的留言&#xff1a; 写入数据库 对留言内容进行显示&#xff1a; php全局变量-$_SERVER 检测来源 墨…

【复现】Hytec Inter HWL 2511 SS路由器RCE漏洞_25

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Hytec Inter HWL 2511 SS是日本Hytec Inter 公司的一款工业级 LTE 路由器&#xff0c;可用于远程数据传输&#xff0c;例如收集传…

网络安全(初版,以后会不断更新)

1.网络安全常识及术语 资产 任何对组织业务具有价值的信息资产&#xff0c;包括计算机硬件、通信设施、IT 环境、数据库、软件、文档 资料、信息服务和人员等。 漏洞 上边提到的“永恒之蓝”就是windows系统的漏洞 漏洞又被称为脆弱性或弱点&#xff08;Weakness&#xff09;&a…