Redis学习 - 基础篇

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.mzph.cn/diannao/43614.shtml

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

相关文章

《信息技术与信息化 》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《信息技术与信息化 》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《信息技术与信息化 》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;山东省科学技术协会 主办单…

国内磁性器件核心企业『云路新能源』携手企企通正式启动SRM项目,供应链竞争力再上新台阶

近日&#xff0c;珠海黎明云路新能源科技有限公司&#xff08;以下简称“云路新能源”&#xff09;携手企企通启动SRM数字化采购供应链管理项目&#xff0c;双方相关负责人与项目组成员出席本次启动会。 本次采购数字化项目建设&#xff0c;企企通将助力云路新能源实现采购全场…

智能无人数字直播间 打造24小时的无人直播间源码系统 带网站的安装代码包以及搭建教程

系统概述 智能无人数字直播间系统是一种基于人工智能技术的软件工具&#xff0c;它结合了高精度扫描建模、自动化控制、多模态生成等多项先进技术&#xff0c;能够实现对真实人物的高度仿真&#xff0c;并自主执行各类直播任务。该系统不仅支持24小时不间断直播&#xff0c;还…

微信小程序引入自定义子组件报错,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路径下***

使用原生小程序开发时候&#xff0c;会报下面的错误&#xff0c; [ pages/button/button.json 文件内容错误] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”&#xff0c;在 C:/Users/***/WeChatProjects/m…

Android约束布局的概念与属性(2)

目录 3&#xff0e;链式约束4&#xff0e;辅助线 3&#xff0e;链式约束 如果两个或以上控件通过下图的方式约束在一起&#xff0c;就可以认为是他们是一条链&#xff08;如图5为横向的链&#xff0c;纵向同理&#xff09;。 图5 链示意图 如图5所示&#xff0c;在预览图中选…

解读网络安全公司F5:助企业高效简化多云和应用部署

伴随企业加速数字化转型工作、扩展到新的基础设施环境并采用微服务架构&#xff0c;企业正拥抱混合和多云基础设施所带来的灵活性。Ernst & Young调查数据显示&#xff0c;84%的企业正处于向现有网络安全解决方案套件添加多种新技术的早期阶段。企业同样意识到&#xff0c;…

nftables(3)表达式(1)数据类型

简介 前面文章主要介绍的是nftables的基本原理和基础的配置&#xff0c;如nftables基本的表、链、规则的创建和管理。本篇文章主要介绍的是表达式EXPRESSIONS。 在网络安全和数据处理中&#xff0c;表达式&#xff08;Expressions&#xff09;扮演着非常重要的角色。它们用于…

二. Linux内核

一. Linux内核源码目录分析 arch 包含与体系结构相关的代码&#xff0c;用于支持不同硬件体系结构的实现。这个目录下会根据不同的架构&#xff08;如x86、arm、mips等&#xff09;进一步细分。 block 用于处理块设备的子系统&#xff0c;包含与块设备驱动和I/O调度相关的代码。…

Vue核心 — Vue2响应式原理和核心源码解析(核心中的核心)

一、前置知识 1、Vue 核心概念 Vue 是什么? Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。 Vue 核心特点是什么? 响应式数据绑定:…

绝区捌--将GPT幻觉的发生率从20%以上降低到2%以下

总结&#xff1a;我们没有使用微调&#xff0c;而是结合使用提示链和预处理/后处理来将幻觉发生率降低一个数量级&#xff0c;但这确实需要对 OpenAI 进行 3-4 倍的调用。还有很大的改进空间&#xff01; 使用 GPT 等大型语言模型面临的最大挑战之一是它们倾向于捏造信息。 这…

使用Python绘制QQ图并分析数据

使用Python绘制QQ图并分析数据 在这篇博客中&#xff0c;我们将探讨如何使用Python中的pandas库和matplotlib库来绘制QQ图&#xff08;Quantile-Quantile Plot&#xff09;&#xff0c;并分析数据文件中的内容。QQ图是一种常用的统计图表&#xff0c;用于检查一组数据是否服从…

C# 下sendmessage和postmessage的区别详解与示例

文章目录 1、SendMessage2、PostMessage3、两者的区别&#xff1a; 总结 在C#中&#xff0c;SendMessage和PostMessage是两个用于Windows编程的API&#xff0c;它们用于向窗口发送消息。这两个方法都位于System.Windows.Forms命名空间中&#xff0c;通常用于自动化Windows应用程…

科普文:分布式系统的架构设计模式

一、分布式架构基本概念 分布式架构是一种计算机系统设计方法&#xff0c;它将一个复杂的系统划分为多个自治的组件或节点&#xff0c;并通过网络进行通信和协作。每个组件或节点在功能上可以相互独立&#xff0c;但又能够通过消息传递或共享数据来实现协同工作。分布式架构主要…

值传递与引用传递:深入理解Java中的变量赋值和参数传递机制

在Java中&#xff0c;理解值传递&#xff08;值拷贝&#xff09;与引用传递&#xff08;地址拷贝&#xff09;之间的区别对于正确处理数据结构和对象至关重要。本文将通过示例代码深入探讨这两种机制&#xff0c;并解释它们如何影响程序的行为。 值传递&#xff08;值拷贝&…

虚拟机因断电进入./#状态解决办法

现象&#xff1a; 解决&#xff1a;先查看错误日志&#xff1a;journalctl -p err -b查看自己虚拟机中标黄部分的名字 之后运行&#xff1a;xfs_repair -v -L /dev/sda #这里sda用你自己标黄的 最后重启 reboot 即可。

在Linux上运行macOS:深度解析OSX-KVM项目

在Linux上运行macOS&#xff1a;深度解析OSX-KVM项目 在现代开发和测试环境中&#xff0c;能够在不同操作系统之间无缝切换是至关重要的。对于开发者而言&#xff0c;如何在Linux系统上运行macOS一直是一个挑战。然而&#xff0c;OSX-KVM项目为我们提供了一种高效的解决方案&a…

R包:ggsci期刊配色

介绍 不同期刊配色大多数时候不一样&#xff0c;为了更好符合期刊图片颜色的配色&#xff0c;有人开发了ggsci这个R包。它提供以下函数&#xff1a; scale_color_palname() scale_fill_palname() 对应不同期刊的color和fill函数。 导入数据R包 library("ggsci")…

2024年全面导入APS系统:提升工厂生产效率的策略

在快速变化的市场环境中&#xff0c;急单、插单、订单设计变更、订单交期变更、订单取消、供应链移动等问题已经是制造业时时刻刻都在面对的问题&#xff0c;在订单量下降的市场环境下&#xff0c;企业本身的业务工作反而越来越忙碌。在此背景下&#xff0c;当今制造业企业亟需…

【pytorch24】Visdom可视化

TensorboardX pytorch有一个工具借鉴了tensorboard pip install tensorboardX 有查看变量的数值、监听曲线等功能 如何使用 新建SummaryWriter()实例 要把监听的数据&#xff0c;比如说要监听dummy_s1[0]&#xff08;y 坐标&#xff09;存放到data/scalar1中&#xff0c;…

【React】React18 Hooks 之 useContext

目录 useContext1、Provider和 useContext2、Provider 和Consumer3、Provider 嵌套4、React.createContext提供的Provider和class的contextType属性5、读、写Context&#xff08;1&#xff09;父组件修改Context&#xff08;2&#xff09;子组件修改Context 好书推荐 useContex…