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"

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

终端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

终端(命令提示符或Windows PowerShell或Azure Cloud Shell)是一种很 不 好用的东西 就是要背,很 不 爽 介绍 Windows 终端是一个新式主机应用程序,它面向你喜爱的命令行 shell,如命令提示符、PowerShell 和 bash&…

《GitHub Copilot 操作指南》课程介绍

第1节:GitHub Copilot 概述 一、什么是 GitHub Copilot 什么是 GitHub Copilot GitHub Copilot是GitHub与OpenAI合作开发的编程助手工具,利用机器学习模型生成代码建议。它集成在开发者的集成开发环境(IDE)中,可以根…

新买电脑配置不低却卡顿?

目录 前言: 电脑卡顿的原因 Windows 10必做的系统优化 禁用 IP Helper 关闭系统通知 机械硬盘开启优化驱动器功能 开启存储感知 前言: 新买的电脑配置不低,但却卡顿甚至程序不反应,这是怎么回事儿? 其实并不…

使用人工智能助手 Github Copilot 进行编程 01

本章涵盖了 AI 助⼿如何改变新程序员的学习⽅式为什么编程永远不会再⼀样了AI 助⼿如 Copilot 的⼯作原理Copilot 如何解决⼊⻔级编程问题AI 辅助编程的潜在危险 在本章中,我们将讨论人类如何与计算机进行交流。我们将向您介绍您的 AI 助手 GitHub Copilot&#x…

Vue3组件库开发 之Button(2) 未完待续

Vue3组件库开发 之Button(1) 中新建项目,但未安装成功ESLINT 安装ESLINT npm install eslint vite-plugin-eslint --save-dev 安装eslint后,组件文件出现错误提示 添加第三方macros ,虽然不是官网但很多开发者都是vue3开发人员 安装macros…

后面的输入框与前面的联动,输入框只能输入正数(不用正则)

概要 提示:这里可以描述概要 前面的输入框是发票金额,后面的输入框是累计发票金额(含本次)--含本次就代表后倾请求的接口的数据(不是保存后返显的-因为保存后返显的是含本次)是不含本次的所以在输入发票金…

php目录操作示例

目录 1.常用函数 2.列举当前目录列表 3.判断是否是文件夹 1.常用函数 函数名功能scandir 列出指定路径中的文件和目录 opendir 打开文件夹,返回操作资源 readdir读取文件夹资源closedir 关闭文件夹操作资源 is_dir 判断是否是文件夹 filetype 显示是文件夹还是文…

HarmonyOS应用开发者高级认证

一、判断题 云函数打包完成后,需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用(错) 在column和Row容器组件中,aligntems用于设置子组件在主轴方向上的对齐格式,justifycontent用于设置子组件在交叉轴…

4496 蓝桥杯 求函数零点 简单

4496 蓝桥杯 求函数零点 简单 //C风格解法1&#xff0c;通过率100% #include <bits/stdc.h> // int a, b; 一定会自动初始化为 0int main(){int a 2, b 3; // 定义a&#xff0c;b&#xff0c;不会自动初始化&#xff0c;最好自己定义时初始化// windows环境下a值固定&…

springboot配置项动态刷新

文章目录 一&#xff0c;序言二&#xff0c;准备工作1. pom.xml引入组件2. 配置文件示例 三&#xff0c;自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四&#xff0c;yaml文件转换为java对象1. 无法使…

Python中使用多种方法输出哈沙德数

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 哈沙德数&#xff08;Harshad Number&#xff09;&#xff0c;又称Niven数&#xff0c;是指一个自然数&#xff0c;它可以被它的各位数字之和整除。换句话说&#xff0c;如果一个数字是哈沙德数&#xff0c;那么…

CSS 下载进度条

<template><view class=btn>下载中</view></template><script></script><style>/* 设置整个页面的样式 */body {width: 100vw; /* 页面宽度为视口宽度 */background: #000000; /* 背景颜色为白色 */display: flex; /* 使用 flex…

【JVM】JVM概述

JVM概述 基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;即 Java 虚拟机&#xff0c;一种规范&#xff0c;本身是一个虚拟计算机&#xff0c;直接和操作系统进行交互&#xff0c;与硬件不直接交互&#xff0c;而操作系统可以帮我们完成和硬件进行交互的工作特…

最优传输学习及问题总结

文章目录 参考内容lam0.1lam3lam10lam50lam100lam300画图线性规划matlabpython代码 欢迎关注我们组的微信公众号&#xff0c;更多好文章在等你呦&#xff01; 微信公众号名&#xff1a;碳硅数据 公众号二维码&#xff1a; 参考内容 https://blog.csdn.net/qq_41129489/artic…

使用ffmpeg调整视频中音频采样率及声道

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg -i example2.mp4 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable…

网页无法访问但是有网什么原因

目录 1.运行网络诊断&#xff0c;确认原因 原因A.远程计算机或设备将不接受连接(该设备或资源(Web 代理)未设置为接受端口“7890”上的连接 原因B.DNS服务器未响应 场景A.其他的浏览器可以打开网页&#xff0c;自带的Edge却不行 方法A&#xff1a;关闭代理 Google自带翻译…

C++中命名空间、缺省参数、函数重载

目录 1.命名空间 2.缺省参数 3.函数重载 1.命名空间 在C中定义命名空间我们需要用到namespace关键字&#xff0c;后面跟上命名空间的名字&#xff0c;结构框架有点类似结构体&#xff08;如图所示&#xff09; 上面的代码我一一进行讲解&#xff1a; 1.我们先来说第三行和main函…

如何搭建MariaDB并实现无公网ip环境远程连接本地数据库

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 1. 配置MariaDB数据库1.1 安装MariaDB数据库1.2 测试局域网内远程连接 2. 内网穿透2.1 创建隧道映射…

【C++】priority_queue模拟实现过程中值得注意的点

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 本篇文章旨在记录博主在模…

HCIA vlan练习

目录 实验拓扑 实验要求 实验步骤 1、交换机创建vlan 2、交换机上的各个接口划分到对应vlan中 3、trunk干道 4、路由器单臂路由 5、路由器DHCP设置 实验测试 华为交换机更换端口连接模式报错处理 实验拓扑 实验要求 根据图划分vlan&#xff0c;并通过DHCP给主机下发…