Redis学习 - 基础篇

news2024/9/21 8:03:36

Redis学习 - 基础篇

一. 简介

Redis 是一个高性能的key-value数据库,常用的数据类型如下:string,list,set,zset,hash

二. 安装

Widows和Linux下如何安装Redis-CSDN博客

三. 常用命令

配置及数据库操作

命令说明
config get [config_name]获取指定的配置信息( * 查看全部)
info [info_name]查看redis服务器信息
select [db_number]切换到指定数据库(0 - 15)

key的操作

命令说明
set [key] [value]
del [key]
rename [key] [newKeyName]改名
keys [pattern]
exists [key]
expire [key] [seconds]设置key的过期时间
persist [key]取消key的过期时间
ttl [key]查看key的过期时间(-1表示永久,-2表示不存在)
move [key] [db]移动 key 去别的库
type [key]查看key的类型

四. 常用数据类型

1. String

命令说明
set [key] [value]
setnx [key] [value]不存在时才创建
setex [key] [seconds] [value]设指定过期时间的字符串键值对
mset [key1] [value1] …批量增加/修改
del [key]
mset [key1] [value1] …批量增加/修改
append [key] [append_value]追加内容
incr [key]将value增加1
decr [key]将value减少1
get [key]
msget [key1] …批量获取
getrange [key] [start] [end]获取截断字符串
strlen [key]返回对应 value 的长度

2. Hash

Hash用来存对象,命令类似于String : h + XXX

命令说明
hset [key] [field] [value]
hsetnx [key] [field] [value]不存在时才插入
hmset [key] [field1] [value1] …批量插入
hdel [key] [field] …批量删除field
hget [key] [field]获取指定的field的value值
hgetall [key]获取所有field的value值
hvals [key]获取所有的value值
hlen [key]获取field的数量
hkeys [key]获取所有field值

3. List

双头队列

命令说明
lpush [key] [value1] …队头插入
rpush [key] [value1] …队尾插入
lpop [key]队头出
rpop [key]队尾出
lrem [key] [count] [value]从队头到队尾删除指定数量的值为value的元素(0表示全部删除,否则删除的数量为绝对值的count)
lset [key] [index] [newValue]将指定index的值改为newValue
lindex [key] [index]获取指定索引的元素(队头为0)
lrange [key] [start] [end]从队头往队尾输出
llen [key]列表大小

4. Set

类似于Java的HashSet<String>

命令说明
sadd [key] [value1] …单个/批量插入
srem [key] [value1]…单个/批量删除
sismember [key] [value]是否包含指定value
smembers [key]遍历输出所有元素
scard [key]输出长度
集合操作
sinter [key1] [key2] …取交集
sinterstore [key] [key1] [key2] …取后面集合的交集存到key所在set
sdiff [key1] [key2]…取差集
sunion [key1] [key2]…取并集
sunionstore [key] [key1] [key2] …取后面集合的并集存到key所在set

5. Sorted Set

HashMap<String, Integer>

命令说明
zadd [key] [score1] [member1] …单个/批量插入
zrem [key] [member1] …单个/批量删除
zremrangebyscore [key] [min] [max]删除指定分数区间的元素
zremrangebyrank [key] [start] [end]删除指定索引范围的元素(按升序排名的)
zincrby [key] [increment] [member]给member加上increment分
zrange [key] [start] [end] [withscores]按分数升序输出指定索引区间的元素 (加了withscores分数也输出)
zrevrange [key] [start] [end] [withscores]按分数降序输出指定索引区间的元素(加了withscores分数也输出)
zrangebyscore [key] [min] [max] [withscores]按照分数区间升序输出元素
zcount [key] [min] [max]获取指定分数区间的元素数量
zrank [key] [member]获取指定member的索引(按照分数升序的排名 - 1)
zrevrank [key] [member]获取指定member的索引(按照分数降序的排名 - 1)
zcard [key]获取长度

五. 消息的订阅发布

开两个客户端(两个cmd窗口,执行redis-cli.exe),一个作为订阅方,一个作为发布方

订阅方

SUBSCRIBE redisChat

发布方

publish redisChat "hello"

下图为执行结果,左边为订阅方,右边为发布方:
在这里插入图片描述

命令说明
pubscribe [pattern1] …订阅单个/多个频道
UNSUBSCRIBE [pattern1]…退订单个/多个频道
publish [pattern] [message]将message发布到pattern频道
pubsub channels查看订阅的频道

六. 事务

和数据库事务差不多

命令说明
multi标记事务开始
exec执行事务中的所有命令
discard取消事务
watch [key]…下次事务执行前,如果这些key的内容被修改了,则打断事务
unwatch取消所有的watch

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

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

相关文章

[ TOOLS ] JFLASH 使用说明

一、使用everything查找JFLASH everything是指这个软件&#xff0c;使用这个方便查找想要的文件 二、创建一个工程并配置 创建完后进行配置&#xff1a; Target devic: 板子的芯片型号&#xff0c;比如R7FA6M4Target interface: 一般是SWDSpeed: 一般是4000kHz, 不能下载则将Sp…

数学建模美赛入门

数学建模需要的学科知识 高等数学线性代数 有很多算法的掌握是需要高等数学和线代的相关知识 如&#xff1a;灰色预测模型需要微积分知识&#xff1b;神经网络需要用到导数知识&#xff1b;图论和层次分析法等都需要用到矩阵计算的相关知识等&#xff1b; 概率论与数理统计&am…

基于SpringBoot构造超简易QQ邮件服务发送 第二版

目录 追加 邮箱附件 添加依赖 编码 测试 第二版的更新点是追加了 邮箱附件功能 ( 后期追加定时任务 ) 基于SpringBoot构造超简易QQ邮件服务发送(分离-图解-新手) 第一版 追加 邮箱附件 添加依赖 <!-- 电子邮件 --><dependency><groupId>org.spri…

后端登录校验——Filter过滤器和Interceptor拦截器

一、Filter过滤器 前面我们学会了最先进的会话跟踪技术jwt令牌&#xff0c;那么我们要让用户使用某些功能时就要根据jwt令牌来验证用户身份&#xff0c;来决定他是否登陆了、让不让用户访问这个页面&#xff08;或功能&#xff09; 但是这样一来&#xff0c;没发一个请求&…

解决打印PDF文本不清楚的处理办法

之前打印PDF格式的电子书&#xff0c;不清晰&#xff0c;影响看书的心情&#xff0c;有时看到打印的书的质量&#xff0c;根本不想看&#xff0c;今天在打印一本页数不多&#xff0c;但PDF格式的书感觉也不太清楚&#xff0c;我想应该有办法解决&#xff0c;我使用的是解决福昕…

实时监测、智能预警:电缆光纤测温系统|原理、应用与前景

实时监测、智能预警&#xff1a;电缆光纤测温系统|原理、应用与前景 电缆光纤测温系统&#xff0c;作为现代电力系统中不可或缺的一部分&#xff0c;以其独特的优势在电缆安全监控领域发挥着日益重要的作用。该系统利用光纤传感技术&#xff0c;实时监测电缆的运行温度&#x…

【LeetCode刷题笔记】LeetCode.11.盛最多水的容器

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

KIVY Button¶

Button — Kivy 2.3.0 documentation Button Jump to API ⇓ Module: kivy.uix.button Added in 1.0.0 The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the s…

c++入门基础篇(上)

目录 前言&#xff1a; 1.c&#xff0b;&#xff0b;的第一个程序 2.命名空间 2.1 namespace的定义 2.2 命名空间使用 3.c&#xff0b;&#xff0b;输入&输出 4.缺省参数 5.函数重载 前言&#xff1a; 我们在之前学完了c语言的大部分语法知识&#xff0c;是不是意…

GraphRAG——一个基于图的检索增强生成的开源项目【送源码】

GraphRAG 最近几天&#xff0c;微软团队开源了GraphRAG&#xff0c;这是一种基于图&#xff08;Graph&#xff09;的检索增强生成方法。 先说说RAG吧&#xff0c;检索增强生成&#xff0c;相当于是从一个给定好的知识库中进行检索&#xff0c;接入LLM模型&#xff0c;让模型生…

数据结构——顺序表【C】

顺序表 1. 顺序表的概念以及结构1.1概念1.2静态顺序表和动态顺序表 2. 顺序表接口模拟实现接口总览2.1 初始化数据和销毁容器 2.2 顺序表的尾插和尾删2.3 头插和头删2.4 任意位置插入和删除数据2.5 查找数据 3. 顺序表的问题 &#xff1a; 1. 顺序表的概念以及结构 1.1概念 顺…

无缝协作:如何实现VMware与Ubuntu虚拟机的剪切板共享!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 剪贴板共享 📒📝 VMware设置📝 安装VMware Tools或open-vm-tools📝 验证剪贴板共享功能⚓️ 相关链接 🚓️📖 介绍 📖 无缝的剪贴板共享是提高工作效率的关键。在VMware和Ubuntu虚拟机的协同工作中,能够直接在宿…

【鸿蒙学习笔记】属性学习迭代笔记

这里写目录标题 TextImageColumnRow Text Entry Component struct PracExample {build() {Row() {Text(文本描述).fontSize(40)// 字体大小.fontWeight(FontWeight.Bold)// 加粗.fontColor(Color.Blue)// 字体颜色.backgroundColor(Color.Red)// 背景颜色.width(50%)// 组件宽…

arp缓存中毒实验

文章目录 一、相关知识1.什么是arp&#xff08;地址解析协议&#xff09;2.什么是免费arp&#xff08;1&#xff09;简介&#xff08;2&#xff09;主要应用&#xff08;3&#xff09;代码 3.什么是arp缓存中毒&#xff08;1&#xff09;简介&#xff08;2&#xff09;过程&…

ubuntu使用kubeadm搭建k8s集群

一、卸载k8s kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd …

第5章-组合序列类型

#全部是重点知识&#xff0c;必须会。 了解序列和索引|的相关概念 掌握序列的相关操作 掌握列表的相关操作 掌握元组的相关操作 掌握字典的相关操作 掌握集合的相关操作1&#xff0c;序列和索引 1&#xff0c;序列是一个用于存储多个值的连续空间&#xff0c;每一个值都对应一…

python实现建议股票计算器

name 无忧传播 stock_price 19.99 stock_code "003032" stock_rise 1.2 day 7print(f"公司&#xff1a;{name},代码&#xff1a;{stock_code},当前股价&#xff1a;{stock_price}")print("增长系数是&#xff1a;%f&#xff0c;经过%d天后&am…

Git本地仓库的搭建与使用

目录 一、前言 二、Linux下搭建 git 仓库 三、Windows下搭建 git 仓库 一、前言 做项目时&#xff0c;我们常常需要将自己的代码进行托管&#xff0c;但有时候 Github 的速度属实叫人流泪。有的人会选择 Gitee 等进行托管代码&#xff0c;这当然是可以的。那如果没有其他代码…

【VUE基础】VUE3第一节—vite创建vue3工程

什么是VUE Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0…

藏汉翻译通作为翻译软件的优势有哪些?

藏汉翻译通作为一款专业的藏汉双语翻译软件&#xff0c;具有以下优势&#xff1a; 人工智能技术应用&#xff1a;藏汉翻译通利用了人工智能翻译和语音识别合成技术&#xff0c;提供智能藏文翻译服务。 高准确率&#xff1a;文字识别准确率可达90%&#xff0c;语音识别转化文字…