Redis(01)——常用指令

基础指令

  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"

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧校园统一信息门户平台介绍

统一信息门户平台是以统一身份认证平台为基础,将校内分散、异构的应用和信息资源进行整合,通过统一的访问入口,实现各种应用系统的无缝接入和集成,并围绕校内人员之间的人际关系,构建一个支持信息访问、传递、以及协作的集成化环境,实现个性化业务应用的高效开发、集成、…

Python使用graphviz绘制模块间数据流

graphviz官方参考链接: http://www.graphviz.org/documentation/ https://graphviz.readthedocs.io/en/stable/index.html 文章目录 需求描述环境配置实现思路代码实现 需求描述 根据各模块之间的传参关系绘制出数据流,如下图所示: 并且生成…

LabVIEW扫描探针显微镜系统开发

在纳米技术对高精度材料特性测量的需求日益增长。介绍了基于LabVIEW开发的扫描探针显微镜(SPM)系统。该系统不仅可以高效地测量材料的热物性,还能在纳米尺度上探究热电性质,为材料研究提供了强大的工具。 系统基于扫描探针显微技…

自我摸索:如何运营并玩转CSDN?

自注册CSDN以来已有七年之久,但真正运营CSDN也是最近一年的事情,大概就是22年底,参加2022 博客之星 的竞选。接触了很多大佬,也学习模仿着开始玩转CSDN,虽然没有同期运营的大佬们玩的6,但也有一些经验可以来…

【JavaEE进阶】实现验证码

文章目录 🌲实现说明🍃Kaptcha插件介绍🚩插件原理🚩引入依赖🚩⽣成验证码🚩Kaptcha详细配置 🍀准备⼯作🌴约定前后端交互接⼝🚩需求分析🚩接⼝定义&#x1f6…

【算法练习Day50】下一个更大元素II接雨水

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 下一个更大元素II接雨水单调…

Java毕业设计第90期-基于springboot的学习英语管理系统

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于springboot的学习英语管理系统:前端 thymeleaf、jquery,后端 maven、springmvc、spring、mybatis,角色分为管理员、用户&#xff…

小程序进阶学习(音乐首页-轮播图)

轮播图 样式 轮播图的重点是轮播图的大小&#xff0c;因为每个手机的屏幕大小不一样&#xff0c;但是轮播图的大小是固定的就需要一些技术获取到手机的轮播图大小&#xff0c;然后再设置图片的大小和轮播图边框的大小。 页面代码 <van-searchvalue"{{ value }}"s…

PID笔记

Improving the Beginner’s PID 参考资料 Improving the Beginner’s PID – Introduction The Beginner’s PID 以下是每个人第一次学习的PID方程&#xff1a; 这导致几乎每个人都编写了以下PID控制器&#xff1a; /*working variables*/ unsigned long lastTime; double…

【c++函数重载】

文章目录 一. 命名空间二 .全缺省参数和半缺省参数三 . 函数重载 一. 命名空间 1.不指定域&#xff1a;先在局部找&#xff0c;再全局。 2. 指定域&#xff1a;到指定的命名空间去找。 3. 当把指定命名空间放开时&#xff0c;即using namespace std&#xff1b;例如放开标准c库…

聊聊Java虚拟机(一)—— 类加载子系统

1. 前言 ​ 虚拟机就是一款用来执行虚拟计算机指令的计算机软件。它相当于一台虚拟计算机。大体上&#xff0c;虚拟机分为系统虚拟机和程序虚拟机。系统虚拟机就相当于一台物理电脑&#xff0c;里面可以安装操作系统&#xff1b;程序虚拟机是为了执行单个计算机程序而设计出来…

imgaug库图像增强指南(32):塑造【雪景】效果的视觉魔法

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

蓝桥杯练习题(十二)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;十二&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他…

【蓝桥杯日记】复盘篇一:深入浅出顺序结构

&#x1f680;前言 本期是一篇关于顺序结构的题目的复盘,通过复盘基础知识&#xff0c;进而把基础知识学习牢固&#xff01;通过例题而进行复习基础知识。 &#x1f6a9;目录 前言 1.字符三角形 分析&#xff1a; 知识点&#xff1a; 代码如下 2. 字母转换 题目分析: 知…

加固密码安全:保护您的个人信息

一、引言 在数字化时代&#xff0c;密码安全是保护个人信息和数据的重要环节。然而&#xff0c;许多人在创建和管理密码时存在一些常见的安全漏洞&#xff0c;如使用弱密码、重复使用密码等。本文将详细介绍密码安全的重要性&#xff0c;并提供一些有效的方法和技巧&#xff0…

使用DALL-E 3模型模拟AI女友的一天 |【人人都是算法专家】

Rocky Ding 公众号&#xff1a;WeThinkIn 知乎&#xff1a;Rocky Ding 写在前面 【人人都是算法专家】栏目专注于分享AI行业中业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 我们都知道DALL-E 3是和Stable Diffusio…

Windows ssh登录eNSP交换机

目录 1. Cloud IO配置1.1 创建UDP端口1.2 创建本地连接1.3 端口映射设置 2. 交换机配置2.1 配置vlanif2.2 配置vty2.3 配置ssh用户2.4 配置aaa2.5 使用Xshell工具登录2.6 用户和密码2.7 登录成功 3. 使用cmd 登录报错提示3.1 手动指定加密算法&#xff0c;提示密码长度无效3.2 …

自定义注解与拦截器实现不规范sql拦截(拦截器实现篇)

最近考虑myBatis中sql语句使用规范的问题&#xff0c;如果漏下条件或者写一些不规范语句会对程序性能造成很大影响。最好的方法就是利用代码进行限制&#xff0c;通过拦截器进行sql格式的判断在自测环节就能找到问题。写了个简单情景下的demo&#xff0c;并通过idea插件来将myB…

Twisted Circuit洛谷绿题题解

Twisted Circuit 题面翻译 读入四个整数 0 0 0 或者 1 1 1&#xff0c;作为如图所示的电路图的输入。请输出按照电路图运算后的结果。 感谢PC_DOS 提供的翻译 题目描述 输入格式 The input consists of four lines, each line containing a single digit 0 or 1. 输出格…

编译和链接详解

文章目录 前言翻译环境和运行环境翻译环境和运行环境图解 翻译环境编译预处理&#xff08;预编译&#xff09;阶段编译汇编 链接 运行环境总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 在软件开发的世界中&#xff0c;编译和链接是构建程序的两个…