REDIS命令

  • 常见文件名
    • Redis-cli使用命令
      • 1、启动Redis
      • 2、连接Redis
      • 3、停止Redis
      • 4、发送命令
        • 1、redis-cli带参数运行,如:
        • 2、redis-cli不带参数运行,如:
      • 5、测试连通性
    • key操作命令
      • 获取所有键
      • 查询键是否存在
      • 删除键
      • 查询键类型
      • 移动键
      • 查询key的生命周期(秒)
      • 设置过期时间
      • 设置永不过期
      • 更改键名称
    • 字符串操作命令
      • 存放键值
      • 获取键值
      • 值递增/递减
      • 批量存放键值
      • 获取获取键值
      • 获取值长度
      • 追加内容
      • 获取部分字符
    • 集合操作命令
      • 存储值
      • 获取元素
      • 判断集合是否存在元素
      • 获取集合元素个数
      • 删除集合元素
      • 弹出元素
      • 有序集合和列表的区别:
      • 存储值
      • 获取元素分数
      • 获取排名范围排名语法:zrange key start stop [WITHSCORES]
      • 获取指定分数范围排名语法:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
      • 增加指定元素分数
      • 获取集合元素个数
      • 获取指定范围分数个数
      • 删除指定元素
      • 获取元素排名
    • 列表操作命令
      • 存储值
        • 左端存值语法:lpush key value [value ...]
        • 右端存值语法:rpush key value [value ...]
        • 索引存值语法:lset key index value
      • 弹出元素
        • 左端弹出语法:lpop key
        • 右端弹出语法:rpop key
        • 获取元素个数
        • 获取列表元素

常见文件名

在这里插入图片描述

Redis-cli使用命令

1、启动Redis
> redis-server [--port 6379]

如果命令参数过多,建议通过配置文件来启动Redis。

> redis-server [xx/xx/redis.conf]
6379是Redis默认端口号。
2、连接Redis
> ./redis-cli [-h 127.0.0.1 -p 6379]
3、停止Redis
> redis-cli shutdown> kill redis-pid

以上两条停止Redis命令效果一样。

4、发送命令

给Redis发送命令有两种方式:

1、redis-cli带参数运行,如:
> redis-cli shutdown
not connected>

这样默认是发送到本地的6379端口。

2、redis-cli不带参数运行,如:
> ./redis-cli127.0.0.1:6379> shutdown
not connected>
5、测试连通性
127.0.0.1:6379> ping
PONG

key操作命令

获取所有键

语法:keys pattern

127.0.0.1:6379> keys *
1) "javastack"

*表示通配符,表示任意字符,会遍历所有键显示所有的键列表,时间复杂度O(n),在生产环境不建议使用。
获取键总数
语法:dbsize

127.0.0.1:6379> dbsize(integer) 6

获取键总数时不会遍历所有的键,直接获取内部变量,时间复杂度O(1)。

查询键是否存在

语法:exists key [key …]

127.0.0.1:6379> exists javastack java
(integer) 2

查询查询多个,返回存在的个数。

删除键

语法:del key [key …]

127.0.0.1:6379> del java javastack
(integer) 1

可以删除多个,返回删除成功的个数。

查询键类型

语法: type key

127.0.0.1:6379> type javastack
string
移动键

语法:move key db
如把javastack移到2号数据库。

127.0.0.1:6379> move javastack 2
(integer) 1
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> keys *
1) "javastack"
查询key的生命周期(秒)

秒语法:ttl key
毫秒语法:pttl key

127.0.0.1:6379[2]> ttl javastack
(integer) -1

-1:永远不过期。

设置过期时间

秒语法:expire key seconds
毫秒语法:pexpire key milliseconds

127.0.0.1:6379[2]> expire javastack 60
(integer) 1
127.0.0.1:6379[2]> ttl javastack
(integer) 55
设置永不过期

语法:persist key

127.0.0.1:6379[2]> persist javastack
(integer) 1
更改键名称

语法:rename key newkey

127.0.0.1:6379[2]> rename javastack javastack123
OK

字符串操作命令

字符串是Redis中最基本的数据类型,单个数据能存储的最大空间是512M。

存放键值

语法:set key value [EX seconds] [PX milliseconds] [NX|XX]
nx:如果key不存在则建立,xx:如果key存在则修改其值,也可以直接使用setnx/setex命令。

127.0.0.1:6379> set javastack 666
OK
获取键值

语法:get key

127.0.0.1:6379[2]> get javastack
"666"
值递增/递减

如果字符串中的值是数字类型的,可以使用incr命令每次递增,不是数字类型则报错。

语法:incr key

127.0.0.1:6379[2]> incr javastack
(integer) 667

一次想递增N用incrby命令,如果是浮点型数据可以用incrbyfloat命令递增。

同样,递减使用decr、decrby命令。

批量存放键值

语法:mset key value [key value …]

127.0.0.1:6379[2]> mset java1 1 java2 2 java3 3
OK
获取获取键值

语法:mget key [key …]

127.0.0.1:6379[2]> mget java1 java2
1) "1"
2) "2"

Redis接收的是UTF-8的编码,如果是中文一个汉字将占3位返回。

获取值长度

语法:strlen key

127.0.0.1:6379[2]> strlen javastack (integer) 3
追加内容

语法:append key value

127.0.0.1:6379[2]> append javastack hi
(integer) 5

向键值尾部添加,如上命令执行后由666变成666hi

获取部分字符

语法:getrange key start end

> 127.0.0.1:6379[2]> getrange javastack 0 4
"javas"

集合操作命令

集合类型和列表类型相似,只不过是集合是无序且不可重复的。

集合

存储值

语法:sadd key member [member …]
// 这里有8个值(2个java),只存了7个

127.0.0.1:6379> sadd langs java php c++ go ruby python kotlin java
(integer) 7
获取元素

获取所有元素语法:smembers key

127.0.0.1:6379> smembers langs
1) "php"
2) "kotlin"
3) "c++"
4) "go"
5) "ruby"
6) "python"
7) "java"

随机获取语法:srandmember langs count

127.0.0.1:6379> srandmember langs 3
1) "c++"
2) "java"
3) "php"
判断集合是否存在元素

语法:sismember key member

127.0.0.1:6379> sismember langs go
(integer) 1
获取集合元素个数

语法:scard key

127.0.0.1:6379> scard langs
(integer) 7
删除集合元素

语法:srem key member [member …]

127.0.0.1:6379> srem langs ruby kotlin
(integer) 2
弹出元素

语法:spop key [count]

127.0.0.1:6379> spop langs 2
1) "go"
2) "java"
有序集合和列表的区别:

1、列表使用链表实现,两头快,中间慢。有序集合是散列表和跳跃表实现的,即使读取中间的元素也比较快。

2、列表不能调整元素位置,有序集合能。

3、有序集合比列表更占内存。

存储值

语法:zadd key [NX|XX] [CH] [INCR] score member [score member …]

127.0.0.1:6379> zadd footCounts 16011 tid 20082 huny 2893 nosy
(integer) 3
获取元素分数

语法:zscore key member

127.0.0.1:6379> zscore footCounts tid
"16011"
获取排名范围排名语法:zrange key start stop [WITHSCORES]

// 获取所有,没有分数

127.0.0.1:6379> zrange footCounts 0 -1
1) "nosy"
2) "tid"
3) "huny"

// 获取所有及分数

127.0.0.1:6379> zrange footCounts 0 -1 Withscores
1) "nosy"
2) "2893"
3) "tid"
4) "16011"
5) "huny"
6) "20082"
获取指定分数范围排名语法:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
127.0.0.1:6379> zrangebyscore footCounts 3000 30000 withscores limit 0 1
1) "tid"
2) "16011"
增加指定元素分数

语法:zincrby key increment member

127.0.0.1:6379> zincrby footCounts 2000 tid
"18011"
获取集合元素个数

语法:zcard key

127.0.0.1:6379> zcard footCounts
(integer) 3
获取指定范围分数个数

语法:zcount key min max

127.0.0.1:6379> zcount footCounts 2000 20000
(integer) 2
删除指定元素

语法:zrem key member [member …]

127.0.0.1:6379> zrem footCounts huny
(integer) 1
获取元素排名

语法:zrank key member

127.0.0.1:6379> zrank footCounts tid
(integer) 1

列表操作命令

列表类型是一个有序的字段串列表,内部是使用双向链表实现,所有可以向两端操作元素,获取两端的数据速度快,通过索引到具体的行数比较慢。

列表类型的元素是有序且可以重复的。

存储值
左端存值语法:lpush key value [value …]
127.0.0.1:6379> lpush list lily sandy
(integer) 2
右端存值语法:rpush key value [value …]
127.0.0.1:6379> rpush list tom kitty
(integer) 4
索引存值语法:lset key index value
127.0.0.1:6379> lset list 3 uto
OK
弹出元素
左端弹出语法:lpop key
127.0.0.1:6379> lpop list
"sandy"
右端弹出语法:rpop key
127.0.0.1:6379> rpop list
"kitty"
获取元素个数

语法:llen key

127.0.0.1:6379> llen list
(integer) 2
获取列表元素

两边获取语法:lrange key start stop

127.0.0.1:6379> lpush users tom kitty land pony jack maddy
(integer) 6
127.0.0.1:6379> lrange users 0 3
1) "maddy"
2) "jack"
3) "pony"
4) "land"// 获取所有
127.0.0.1:6379> lrange users 0 -1
1) "maddy"
2) "jack"
3) "pony"
4) "land"
5) "kitty"
6) "tom"// 从右端索引
127.0.0.1:6379> lrange users -3 -1
1) "land"
2) "kitty"
3) "tom"
索引获取语法:lindex key index
127.0.0.1:6379> lindex list 2
"ketty"// 从右端获取
127.0.0.1:6379> lindex list -5
"sady"
删除元素
根据值删除语法:lrem key count value
127.0.0.1:6379> lpush userids 111 222 111 222 222 333 222 222
(integer) 8// count=0 删除所有
127.0.0.1:6379> lrem userids 0 111
(integer) 2// count > 0 从左端删除前count个
127.0.0.1:6379> lrem userids 3 222
(integer) 3// count < 0 从右端删除前count个
127.0.0.1:6379> lrem userids -3 222
(integer) 2
范围删除语法:ltrim key start stop
// 只保留2-4之间的元素
127.0.0.1:6379> ltrim list 2 4
OK

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

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

相关文章

零基础学python:错误与异常

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 语法错误 异常&#xff1a;大多数的异常都不会被程序处理&#xff0c;都以错误信息的形式展现在这里 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ pyth…

Ubuntu源码编译samba

概述 本人最近研究samba的源码&#xff0c;但是在源码编译的时候&#xff0c;本以为直接config,make,make install。没想到编译过程中碰到很多麻烦&#xff0c;主要是各种依赖问题。 基于此&#xff0c;本文把samba编译的详细过程记录下来&#xff0c;以供再次研究借鉴。 软件…

力扣刷题 day50:10-20

1.存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 方法一&#xff1a;集合去重 #方法一&#xff1a;集合去重 def containsDuplicate(nums):return len(n…

AWS SAA-C03考试知识点整理

S3&#xff1a; 不用于数据库功能 分类&#xff1a; S3 Standard &#xff1a;以便频繁访问 S3 Standard-IA 或 S3 One Zone-IA &#xff1a; 不经常访问的数据 Glacier&#xff1a; 最低的成本归档数据 S3 Intelligent-Tiering智能分层 &#xff1a;存储具有不断变化或未知访问…

KubeSphere一键安装部署K8S集群(单master节点)-亲测过

1. 基础环境优化 hostnamectl set-hostname master1 && bash hostnamectl set-hostname node1 && bash hostnamectl set-hostname node2 && bashcat >> /etc/hosts << EOF 192.168.0.34 master1 192.168.0.45 node1 192.168.0.209…

从零开始,学好 Python 从大一新生自我介绍开始

从零开始&#xff0c;学好 Python 从大一新生自我介绍开始 大家好&#xff0c;我叫xxx,今年18岁&#xff0c;刚刚入学不久。我决定从零开始系统学习Python编程语言。 Python是一种解释型、交互式和脚本编程语言。它由荷兰人Guido van Rossum在1991年左右创立&#xff0c;语法简…

Python学习第2天-安装pycharm

文章目录 前言一、下载二、安装1.选择安装目录2.安装配置 总结 前言 好用的工具可以极大地提高生产力&#xff0c;开发Python推荐使用jetbrains全家桶的pycharm。 一、下载 通过官网下载安装包。 二、安装 1.选择安装目录 2.安装配置 一路Next&#xff0c;安装完成 总结 …

机器学习(23)---Boosting tree(课堂笔记)

文章目录 一、知识记录二、题目2.1 题目12.2 题目22.3 题目三2.4 答案书写 一、知识记录 二、题目 2.1 题目1 2.2 题目2 2.3 题目三 T 4 T_4 T4​中 0.15 0.15 0.15 改为 − 0.16 -0.16 −0.16&#xff0c; − 0.22 -0.22 −0.22 改为 0.11 0.11 0.11。 2.4 答案书写

python 之计算矩阵乘法

文章目录 总的介绍例子 总的介绍 np.matmul 是NumPy库中的矩阵乘法函数&#xff0c;用于执行矩阵乘法操作。矩阵乘法是线性代数中的一种常见操作&#xff0c;用于将两个矩阵相乘以生成新的矩阵。在神经网络、机器学习和科学计算中&#xff0c;矩阵乘法经常用于变换和组合数据。…

点云cloudpoint生成octomap的OcTree的两种方法以及rviz可视化

第一种&#xff1a;在自己的项目中将点云通过ros的topic发布&#xff0c;用octomap_server订阅点云消息&#xff0c;在octomap_server中生成ocTree 再用rviz进行可视化。 创建工作空间&#xff0c;记得source mkdir temp_ocotmap_test/src cd temp_ocotmap_test catkin_make…

进制转换(二进制、八进制、十进制、十六进制)

目录 一&#xff1a;十进制转换为二进制、八进制、十六进制 &#xff08;1&#xff09;整数转换 &#xff08;2&#xff09;小数转换 1&#xff09;十进制转二进制 2&#xff09;十进制转八进制 3&#xff09;十进制转十六进制 二&#xff1a;二进制、八进制、十六进制转…

【大模型应用开发教程】02_LangChain介绍

LangChain介绍 什么是 LangChain1. 模型输入/输出2. 数据连接3. 链&#xff08;Chain&#xff09;4. 记忆&#xff08;Meomory&#xff09;5. 代理&#xff08;Agents&#xff09;6.回调&#xff08;Callback&#xff09;在哪里传入回调 ?你想在什么时候使用这些东西呢&#x…

A_搜索(A Star)算法

A*搜索(A Star) 不同于盲目搜索&#xff0c;A算法是一种启发式算法(Heuristic Algorithm)。 上文提到&#xff0c;盲目搜索对于所有要搜索的状态结点都是一视同仁的&#xff0c;因此在每次搜索一个状态时&#xff0c;盲目搜索并不会考虑这个状态到底是有利于趋向目标的&#x…

​CUDA学习笔记(五)GPU架构

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/&#xff0c;仅用于学习。 GPU架构 SM&#xff08;Streaming Multiprocessors&#xff09;是GPU架构中非常重要的部分&#xff0c;GPU硬件的并行性就是由SM决定的。 以Fermi架构为例&#xff0c;其包含以下主要组成…

学习笔记2——Nosql

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/194205.html 跟学链接 跟学视频链接&#xff1a;https://www.bilibili.com/video/BV1S54y1R7SB/?spm_id_from333.999.0.0 &#xff08;建议有java基础的同学学习或者一直…

解决 Windows 7 激活信息失败报错 0xC004F057

文章目录 步骤一&#xff1a;以管理员身份运行命令提示符步骤二&#xff1a;卸载当前密钥信息步骤三&#xff1a;清除产品密钥信息步骤四&#xff1a;重新启动 Windows Activation Technologies 服务步骤五&#xff1a;重启电脑 &#x1f389;解决 Windows 7 激活信息失败报错 …

【Java 进阶篇】深入理解 Bootstrap 导航条与分页条

Bootstrap 是一个强大的前端框架&#xff0c;为网页和应用程序开发提供了丰富的组件和工具。其中&#xff0c;导航条和分页条是两个常用的组件&#xff0c;用于创建网站的导航和分页功能。本篇博客将深入探讨 Bootstrap 导航条和分页条的使用&#xff0c;适用于那些希望提升网页…

常用Web安全扫描工具合集

漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。那么好用的漏洞扫描工具有哪些? 1、AWVS Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名…

关于CW32单片机pack包安装 KEIL IAR

CW32 系列微控制器软件开发工具入门 芯片包 1. 下载芯片包 官方下载链接&#xff1a;武汉鑫源半导体 2. 安装芯片包 双击芯片包.pack文件 支持 CW32F 系列的 IDE 支持 CW32F 系列的工具链&#xff1a; • • EWARM v7.70 或更高版本 MDK-ARM v5.17 或更高版本 2.1 EW…

简单宿舍管理系统(springboot+vue)

简单宿舍管理系统&#xff08;springbootvue&#xff09; 1.创建项目1.前端2.数据库3.后端 2.登陆1.前端1.准备工作2.登陆组件3.配置 2.后端1.链接数据库2.创建用户实体类3.数据操作持久层1.配置2.内容3.测试 4.中间业务层1.异常2.业务实现3.测试 5.响应前端控制层 3.前后对接4…