当前位置: 首页 > news >正文

redis服务介绍

redis

    • 基础概念
    • 安装使用
      • 基础操作命令
      • 数据类型操作命令
    • 管理和维护命令

基础概念

Remote Dictionary Server(Redis)远程字典服务器是完全开源免费的,用C语言编写的,遵守BSD开源协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL(非关系型)数据库,它也通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Map),列表(list), 集合(sets)和有序集合(sorted sets)等类型。。

Redis的主要特点:

  • 高性能:Redis通过将数据存储在内存中,提供了极快的读写速度。
  • 多种数据类型:支持丰富的数据类型,如字符串、列表、集合、有序集合和哈希。
  • 持久化:虽然Redis主要是内存数据库,但它提供了多种持久化选项,包括RDB快照和AOF(Append Only File)日志。
  • 高可用性:通过主从复制和Redis Sentinel实现高可用性,确保数据的可靠性和服务的连续性。
  • 分布式:支持Redis Cluster,允许数据分布在多个节点上,实现水平扩展。

常见应用场景:

  • 缓存:由于其高性能,Redis常用于缓存层,加速应用的响应速度。
  • 会话存储:许多网站使用Redis来存储用户会话信息。
  • 排行榜和计数器:利用有序集合和其他数据结构,Redis可以方便地实现排行榜和计数器功能。
  • 发布/订阅:Redis的发布/订阅功能可以用于实时消息传递。
  • 队列:通过列表和集合,Redis可以实现高效的队列管理。

redis可以在特定应用场景下作为rabbimq和memcached的替代。
使用Redis而不是memcached来解决问题,不仅可以让代码变得更简短、更易懂、更易维护,而且还可以使代码的运行速度更快(因为用户不需要通过读取数据库来更新数据)。除此之外,在其他许多情况下,Redis的效率和易用性也比关系数据库要好得多。

什么数据会存到Redis数据库中?主要是热点数据,不会经常改变的,一般是常量。比如登录验证的Cookie,购物车,历史浏览记录。(只要具有一定时间的生命周期)比如首页的商品信息,一般不会变。比如秒杀的商品信息,一般也不会变。比如地图的经纬度信息,一般也不会变。

安装使用

ubuntu2404环境

apt install -y redis
systemctl enable --now redis-server

官网命令手册

redis数据库不区分大小写,并且输入命令会有提示!!

基础操作命令

连接到Redis服务器:

redis-cli -h 127.0.0.1 -p 6379
root@huhy:~# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>

字符串

设置键值对并获取:key是键,huhy就是值对

127.0.0.1:6379> set key "huhy"
OK
127.0.0.1:6379> get key
"huhy"
127.0.0.1:6379>

删除值对;

127.0.0.1:6379> del key
(integer) 1
127.0.0.1:6379> get key
(nil)

查看所有键:,*表示所有

127.0.0.1:6379> keys *
(empty array)

数据类型操作命令

列表

设置键值及过期时间:10是秒为单位,十秒后mykey就会消失,内容为空

127.0.0.1:6379> setex mykey 10 "setkey"
OK
127.0.0.1:6379> get mykey
"setkey"
127.0.0.1:6379>

获取键的剩余生存时间:

127.0.0.1:6379> setex hu 20 "test"
OK
127.0.0.1:6379> ttl hu
(integer) 11
127.0.0.1:6379> ttl hu
(integer) 8
127.0.0.1:6379> ttl hu
(integer) 6
127.0.0.1:6379> ttl hu
(integer) 5
127.0.0.1:6379>

追加值到键:如果追加到设置有过期的键中可能会导致过期时间失效

127.0.0.1:6379> get hu
"hy"
127.0.0.1:6379> append hu "hy"
(integer) 4
127.0.0.1:6379> get hu
"hyhy"
127.0.0.1:6379>

左侧推入元素:从而形成一个列表

127.0.0.1:6379> lpush mylist "test1"
(integer) 1
127.0.0.1:6379> lpush mylist "test2"
(integer) 2
127.0.0.1:6379> lpush mylist "test3"
(integer) 3

查看列表中的元素:可以理解成test1是第一个,从左边推入一个元素后,就变成了第二个

127.0.0.1:6379> lrange mylist 0 -1
1) "test3"
2) "test2"
3) "test1"

获取列表长度:

127.0.0.1:6379> llen mylist
(integer) 3
127.0.0.1:6379>

右侧推出元素:从而删除列表中的一个元素

127.0.0.1:6379> rpop mylist
"test1"
127.0.0.1:6379> rpop mylist
"test2"
127.0.0.1:6379> rpop mylist
"test3"
127.0.0.1:6379> rpop mylist
(nil)
127.0.0.1:6379>

集合

添加元素到集合:

127.0.0.1:6379> sadd jihe "member1"
(integer) 1

获取集合所有成员:

127.0.0.1:6379> smembers jihe
1) "member1"
127.0.0.1:6379>

管理和维护命令

查看数据库信息:

127.0.0.1:6379> info 

查看连接客户端列表:

127.0.0.1:6379> client list
id=3 addr=127.0.0.1:38112 laddr=127.0.0.1:6379 fd=8 name= age=3098 idle=0 flags=N db=0 sub=0 psub=0 ssub=0 multi=-1 qbuf=26 qbuf-free=20448 argv-mem=10 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=22298 events=r cmd=client|list user=default redir=-1 resp=2
127.0.0.1:6379>

清空当前数据库:

127.0.0.1:6379> flushdb
OK

清空所有数据库:

127.0.0.1:6379> flushall
OK

保存数据到磁盘:

127.0.0.1:6379> save
OK

后台异步保存数据到磁盘:

127.0.0.1:6379> bgsave
Background saving started

查看Redis服务器配置:

127.0.0.1:6379> config get parameter
(empty array)
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"
127.0.0.1:6379>

相关文章:

redis服务介绍

redis 基础概念安装使用基础操作命令数据类型操作命令 管理和维护命令 基础概念 Remote Dictionary Server(Redis)远程字典服务器是完全开源免费的,用C语言编写的,遵守BSD开源协议,是一个高性能的(key/val…...

nodepad 中换行符、tab替换

1 nodepad 主要符号 换行符: \r\n(windows) tab: \t 2 展示符号 3 相互替换 tip:需要点击扩展 参考: https://blog.csdn.net/lijing742180/article/details/85174564...

常见的字符串函数(包含头文件string.h)和字符函数(2)

八. strstr函数 1.strstr的定义 char *strstr( const char *str1, const char *str2 ); ->1. strstr查找子串(str2)在字符串(str2)中第一次出现的位置,记录并返回该位置的指针,如果找不到,则返回NULL ->2. str1:查找字符…...

Python | Leetcode Python题解之第187题重复的DNA序列

题目&#xff1a; 题解&#xff1a; L 10 bin {A: 0, C: 1, G: 2, T: 3}class Solution:def findRepeatedDnaSequences(self, s: str) -> List[str]:n len(s)if n < L:return []ans []x 0for ch in s[:L - 1]:x (x << 2) | bin[ch]cnt defaultdict(int)for…...

SpringCloud分布式微服务链路追踪方案:Skywalking

一、引言 随着微服务架构的广泛应用&#xff0c;系统的复杂性也随之增加。在这种复杂的系统中&#xff0c;应用通常由多个相互独立的服务组成&#xff0c;每个服务可能分布在不同的主机上。微服务架构虽然提高了系统的灵活性和可扩展性&#xff0c;但也带来了新的挑战&#xf…...

首次线下联合亮相!灵途科技携手AEye、ATI亮相2024 EAC 易贸汽车产业大会

6月22日&#xff0c;2024 EAC 易贸汽车产业大会在苏州国际博览中心圆满落幕&#xff0c;泛自动驾驶领域光电感知专家灵途科技携手自适应高性能激光雷达解决方案全球领导者AEye公司&#xff08;NASDAQ:LIDR&#xff09;及光电器件规模化量产巨头Accelight Technologies&#xff…...

一文入门CMake

我们前几篇文章已经入门了gcc和Makefile&#xff0c;现在可以来玩玩CMake了。 CMake和Makefile是差不多的&#xff0c;基本上是可以相互替换使用的。CMAke可以生成Makefile&#xff0c;所以本质上我们还是用的Makefile&#xff0c;只不过用了CMake就不用再写Makefile了&#x…...

【LeetCode面试经典150题】117. 填充每个节点的下一个右侧节点指针 II

一、题目 117. 填充每个节点的下一个右侧节点指针 II - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个…...

RTDETR更换优化器——Lion

RTDETR更换Lion优化器 论文&#xff1a;https://arxiv.org/abs/2302.06675 代码&#xff1a;https://github.com/google/automl/blob/master/lion/lion_pytorch.py 简介&#xff1a; Lion优化器是一种基于梯度的优化算法&#xff0c;旨在提高梯度下降法在深度学习中的优化效果…...

Spring Boot中最佳实践:数据源配置详解

Spring Boot中最佳实践&#xff1a;数据源配置详解 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨在Spring Boot中如何进行最佳实践的数据源…...

第1章 物联网模式简介---独特要求和体系结构原则

物联网用例的独特要求 物联网用例往往在功耗、带宽、分析等方面具有非常独特的要求。此外&#xff0c;物联网实施的固有复杂性&#xff08;一端的现场设备在计算上受到挑战&#xff0c;另一端的云容量几乎无限&#xff09;迫使架构师做出艰难的架构决策和实施选择。可用实现技…...

数据挖掘概览

数据挖掘(Data Mining)就是从大量的,不完全的,有噪声的,模糊的,随机的实际应用数据中,提取隐含在其中的,人们事先不知道的,但又是潜在有用的信息和知识的过程. 预测性数据挖掘 分类 定义&#xff1a;分类就是把一些新的数据项映射到给定类别中的某一个类别 分类流程&#x…...

【学习】软件测试中常见的文档类型及其作用

在软件开发的生命周期中&#xff0c;软件测试是确保产品质量的关键步骤。为了系统地进行测试活动&#xff0c;并保证测试结果的有效性和可追溯性&#xff0c;产生了一系列标准化的测试文档。这些文档不仅为测试人员提供了执行指南&#xff0c;而且为项目管理者和利益相关者提供…...

electron的托盘Tray

1.在主进程文件background.js中引入需要的文件 import { Tray, Menu } from "electron"; const path require("path");2.获取托盘图标 const baseSRC process.cwd(); //这里不能使用__dirname,使用dirname会直接获取dist_electron中的文件&#xff0c;…...

Harmony OS UI框架探索笔记

本文探讨了如何将现有的常用架构理论与Arkts和ArkUI结合起来&#xff0c;使代码更有条理&#xff0c;并利用Previewer快速调整布局&#xff0c;同时在不改变代码的情况下运行显示真实数据。 开发环境 Windows 11DevEco Studio 4.0 ReleaseBuild Version: 4.0.0.600, built on…...

transformers evaluate

☆ Evaluate https://huggingface.co/docs/evaluate/main/en/installation ★ 解决方案 常用代码 # 查看支持的评估函数 evaluate.list_evaluation_modules(include_communityTrue)# 加载评估函数 accuracy evaluate.load("accuracy")# load function descripti…...

【ONLYOFFICE深度探索】:ONLYOFFICE桌面编辑器8.1震撼发布,打造高效办公新境界

文章目录 一、功能完善的PDF编辑器&#xff1a;解锁文档处理新维度二、幻灯片版式设计&#xff1a;释放创意&#xff0c;打造专业演示三、改进从右至左显示&#xff1a;尊重多元文化&#xff0c;优化阅读体验四、新增本地化选项&#xff1a;连接全球用户&#xff0c;跨越语言障…...

C++系统相关操作4 - 获取CPU(指令集)架构类型

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词&#xff1a; C 系统调用 CPU架构 指令集 跨平台 实现原理&#xff1a; Unix-like 系统: 可以通过 uname -m 命令获取 CPU 架构类型。Windows 系统: 可以通过环境变量 PROCESSOR_A…...

whisper 实现语音转文字

准备需要转码的音频 https://support.huaweicloud.com/sdkreference-sis/sis_05_0039.html 编码转吗的代码 import whisperif __name__ "__main__":file_path "16k16bit.wav"model whisper.load_model("small")result model.transcribe(f…...

使用VLLM部署llama3量化版

1.首先去魔塔社区下载量化后的llama3模型 git clone https://www.modelscope.cn/huangjintao/Meta-Llama-3-8B-Instruct-AWQ.git 2.跑起来模型 1&#xff09;python -m vllm.entrypoints.openai.api_server --model /home/cxh/Meta-Llama-3-8B-Instruct-AWQ --dtype auto --…...

计算机缺失OpenCL.dll怎么办,OpenCL.dll丢失的多种解决方法

在使用电脑的过程中&#xff0c;我们经常会遇到一些开机弹窗问题。其中&#xff0c;开机弹窗找不到OpenCL.dll是一种常见的情况。本文将详细介绍开机弹窗找不到OpenCL.dll的原因分析、解决方法以及预防措辞&#xff0c;帮助大家更好地解决这一问题。 一&#xff0c;了解OpenCL.…...

git 本地代码管理

简介 git 能实现本地代码多个更改版本的管理和导出。 首先复制好项目&#xff08;参考 git clone 别人项目后正确的修改和同步操作 中的前三步&#xff09; 实操 克隆原始项目 首先&#xff0c;从远程仓库克隆项目到本地&#xff1a; git clone https://github.com/libo-huan…...

Docker(九)-Docker运行redis6.0.8容器实例

1.宿主机新建目录存放redis.conf文件 目的&#xff1a;运行redis容器实例时使用自己的配置文件2.运行redis容器实例 docker run -d -p 6379:6379 --privilegedtrue -v 【宿主机配置文件目录】:/etc/redis/redis.conf -v 【宿主机数据目录】:/data --nameredis6.0.8 redis:6.0…...

似然 与 概率

概率似然概率函数与似然函数的关系似然与机器学习的关系最大似然估计 似然与概率分别是针对不同内容的估计和近似 概率 概率&#xff1a;概率表达给定参数 θ \theta θ下样本随机向量 X x \textbf{X} {x} Xx的可能性。 概率密度函数的定义形式是 f ( x ∣ θ ) f(x|\t…...

Tableau数据可视化与仪表盘搭建

Tableau的主要目的 数据赋能和数据探索。 数据赋能&#xff1a; 1.分析师可以将数据看板发布到线上给其他部门使用 2.自动更新看板 3.自由下载数据 4.线上修改图表 5.邮件发送数据 6.设置数据预警 数据探索&#xff1a; 1.支持亿级数据的连接和处理 2.自由地对字段进行各种…...

web前端——HTML

目录 一、HTML概述 1.HTML是什么&#xff1f; 2.HTML具体化解释 二、HTML基本语法 1.声明 2. Head头标签 3.body身体标签 4.一个html的基本结构 5.标签 6.标签属性 ①属性的格式 ②属性的位置 ③添加多个属性 三、基本常用标签 1.超链接 2.图像标签 ①图像标…...

C++的模板(九):模板的实例化问题

前文子系统中的例子&#xff0c; SubSystem内部用了STL库的map模板: template <class Event, class Response> class SubSystem{ public:map<Event*, Response*> table; public:void bind(Event *e, Response *r);void unbind(Event *e); public:int OnMessage(E…...

Clickhouse Projection

背景 Clickhouse一个视图本质还是表&#xff0c;只支持一种order By&#xff0c;不然要维护太多的视图。 物化视图能力有限。 在设计聚合功能时&#xff0c;考虑使用AggregatingMergeTree表引擎&#xff0c;现在有了projections&#xff0c;打算尝试使用一下 操作 ADD PROJE…...

放烟花短视频素材去哪里找?去哪里下载?烟花素材网分享

在当代社会&#xff0c;短视频凭借其独有的魅力成为大众传递情感、记录生活、分享快乐的新兴方式。特别是在庆祝节日和特殊时刻时&#xff0c;烟花的绚丽效果常常被用来吸引观众的目光&#xff0c;成为视频作品中的亮点。然而&#xff0c;对于短视频制作者来说&#xff0c;寻找…...

爬虫笔记14——爬取网页数据写入MongoDB数据库,以爱奇艺为例

下载MongoDB数据库 首先&#xff0c;需要下载MongoDB数据库&#xff0c;下载的话比较简单&#xff0c;直接去官网找到想要的版本下载即可&#xff0c;具体安装过程可以看这里。 pycharm下载pymongo库 pip install pymongo然后在在python程序中我们可以这样连接MongoDB数据库…...

旅游商城网站模板/公司网站建设需要多少钱

常见注解总结之Bean注入1 Autowired1.1 Autowired特点1.2 使用示例1.2 常见异常2 Resource3 InjectSpringBoot中要实现bean的注入&#xff0c;依赖三种注解&#xff1a;AutowiredInjectResource 1 Autowired 在Spring Boot应用启动时&#xff0c;Spring容器会自动装载一个org…...

wordpress 找不到版权/网站收录情况查询

第二章&#xff1a;集合的使用我们经常会用到各种集合&#xff0c;数字的&#xff0c;字符串的还有对象的。它们无处不在&#xff0c;哪怕操作集合的代码要能稍微优化一点&#xff0c;都能让代码清晰很多。在这章中&#xff0c;我们探索下如何使用lambda表达式来操作集合。我们…...

深圳网站备案时间/做游戏推广一个月能拿多少钱

1 树节点Entry TreeMap树的节点是Entry 对象&#xff0c;Entry是TreeMap的一个内部类。 在TreeMap&#xff08;红黑树&#xff09;中false代表红色&#xff0c;true代表红色。 // Red-black mechanicsprivate static final boolean RED false;private static final boolea…...

网站优化流程图/百度推广开户多少钱

大侠好&#xff0c;欢迎来到FPGA技术江湖&#xff0c;江湖偌大&#xff0c;相见即是缘分。大侠可以关注FPGA技术江湖&#xff0c;在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源&#xff0c;或者一起煮酒言欢。 今天给大侠带来“FPGA学习系列altera"系列…...

怎么建设国外免费网站/网络推广销售是做什么的

使用离散余弦变换的图像压缩此示例说明如何使用离散余弦变换 (DCT) 压缩图像。该示例计算输入图像中 88 个数据块的二维 DCT&#xff0c;丢弃(设置为零)每个数据块中 64 个 DCT 系数中除 10 个以外的所有系数&#xff0c;然后使用每个数据块的二维逆 DCT 重构图像。该示例使用变…...

宁波网站推广排名/网站建立

文章目录1. 批量分发密钥2. /etc/ansible/hosts主机清单3. /etc/ansible/roles下各任务3.1 elasticsearch任务3.2 four_lb 四层负载任务3.3 kafka任务3.4 lnmp任务4. /etc/ansible/roles/site.yml 任务清单1. 批量分发密钥 [rootm01 ~]# cat ssh.sh # 批量分发公钥的操作 for …...