了解redis以及其基本命令

news2025/1/12 10:50:05

目录

  • 1 编译安装
  • 2 启动
  • 3 redis 是_
    • 3.1 远程字典服务
    • 3.2 内存数据库
    • 3.3 kv数据库
    • 3.4 数据结构数据库
      • 3.4.1 string 是一个安全的二进制字符串;
      • 3.4.2 双端队列 (链表) list :有序(插入有序);
      • 3.4.3 散列表 hash :对顺序不关注,field 是唯一的;
      • 3.4.4 无序集合 set :对顺序不关注,里面的值都是唯一的;
      • 3.4.5 有序集合 zset :对顺序是关注的,里面的值是唯一的;根据member 来确定唯一;根据 score (c1, c2, c3)来确定有序。
      • 3.4.5 总结:
  • 4 应用
  • 5 redis常用命令
    • 5.1 基本命令
    • 5.2 与range相关的命令
  • 6 redis 中 value 编码

1 编译安装

git clone https://gitee.com/mirrors/redis.git -b 6.2
cd redis
make -j4
make test -j4
sudo make install
默认安装在 /usr/local/bin
redis-server 是服务端程序
redis-cli 是客户端程序

2 启动

1 mkdir redis-data 把redis文件夹下 redis.conf 拷贝到 redis-data
2 修改 redis.conf
找到 #requirepass foobared
将注释符号(#)去掉,并将"foobared"替换为你想要的密码,譬如修改为: requirepass 123456
然后
3 cd redis-data
启动服务 redis-server redis.conf
4 客户端通过 redis-cli 访问 redis-server
redis-cli -h 127.0.0.1 -a 123456

3 redis 是_

3.1 远程字典服务

Dictionary Service 的简称;也是远程字典服务(一个独立运行的进程);
通过tcp 与 redis 建立连接交互;
请求回应模型:客户端发出请求后,会得到回应,客户会知道它的请求的结果;
通过字典的方式索引数据。

3.2 内存数据库

数据都在内存当中

3.3 kv数据库

存储方式:key - value 对是存储在一起的
操作方式:通过key去找到 key - value存储的位置

value是数据结构,通过key找到val(数据结构),然后再通过“命令”去操作数据结构。
有哪些“命令”?====> redis命令中心: http://redis.cn/commands.html
具体操作见第6节:数据演示

key 通过siphash进行哈希运算,生成一个64位的哈希值,然后对数组长度取余,算出key在数组中的下标,
value是key对应的数据结构,如下图:
在这里插入图片描述

3.4 数据结构数据库

通过k去访问 不同类型的数据结构
有哪些类型的数据结构呢?
常用的如下:

3.4.1 string 是一个安全的二进制字符串;

3.4.2 双端队列 (链表) list :有序(插入有序);

例如从左侧插入:
在这里插入图片描述
t1最先插入,所以被挤到了最右边,处在第四个元素的位置

3.4.3 散列表 hash :对顺序不关注,field 是唯一的;

3.4.4 无序集合 set :对顺序不关注,里面的值都是唯一的;

在这里插入图片描述

3.4.5 有序集合 zset :对顺序是关注的,里面的值是唯一的;根据member 来确定唯一;根据 score (c1, c2, c3)来确定有序。

在这里插入图片描述
t1,t2,t3按80 90 100 排序

3.4.5 总结:

在这里插入图片描述
上图中的c1, c2, c3 理解 score, 排序的依据; m1,m2,m3是member,用来确定唯一

4 应用

热点数据的缓存,以减轻磁盘数据的压力(hash)。
。。。

5 redis常用命令

5.1 基本命令

SET key value:设置键值对
GET key:获取指定键的值
DEL key:删除指定键
EXISTS key:判断指定键是否存在
INCR key:将指定键的值加 1,并返回新的值
DECR key:将指定键的值减 1,并返回新的值
KEYS pattern:查找所有符合模式匹配的键名列表
EXPIRE key seconds:设置指定键的过期时间(单位为秒)
TTL key:查询指定键还有多长时间过期(单位为秒)
HSET hash_key field value:在哈希表中设置字段和相应的值
HGET hash_key field:获取哈希表中字段对应的值
HMSET hash_key field value [field value …]:一次性设置哈希表中多个字段和相应的值
HMGET hash_key field [field …]:一次性获取哈希表中多个字段对应的值

5.2 与range相关的命令

Redis 中与 range 相关的命令主要有以下几种:

ZRANGE key start stop [WITHSCORES]:返回有序集合中指定索引范围内的成员,支持按分值排序和返回分值
ZREVRANGE key start stop [WITHSCORES]:返回有序集合中指定倒序索引范围内的成员,支持按分值排序和返回分值
LRANGE key start stop:返回列表中指定索引范围内的元素
LTRIM key start stop:对列表进行修剪,只保留指定索引范围内的元素
SRANDMEMBER key [count]:随机获取集合中一个或多个元素,支持重复元素
以上命令都支持指定起始和终止索引来限制返回结果的数量。其中 ZRANGE 和 ZREVRANGE 命令还支持 WITHSCORES 参数以便同时返回成员和其对应的分值。LRANGE 命令可以用于实现简单队列或栈功能
start, stop是标号,从0开始,当stop为 -1, 表示最后一个。
在这里插入图片描述

6 redis 中 value 编码

value就是key对应的数据结构,value会有各种各样的特征,因此需要预设一些规范。
常用如下:
在这里插入图片描述

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

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

相关文章

Dubbo的10种集群容错模式

学习Dubbo源码的过程中,首先看到的是dubbo的集群容错模式,以下简单介绍10种集群容错模式 1.AvailableCluster 顾名思义,就是可用性优先,遍历所有的invokers,选择可用的 2.MergeableCluster:当接口需要多个服务组合返回…

陌生人,可以看一看你最近复制了什么吗?

DDoS 攻击采用分布式的方式进行,攻击者通常会控制网络中许多终端或服务器,这些终端或服务器同时向被攻击目标发送大量的请求,被攻击目标无法判断这些请求来源的合法性,因此会无法正常处理这些请求,而导致服务中断&…

Web前端开发技术储久良第三版课后答案

P16-第1章 练习与实验答案 练习1 1.选择题 (1)B (2)B (3)B (4)D (5)A 2.填空题 (1)标记、文本 (2)Tim Berners-Lee(蒂姆伯纳斯李) (3)查看 (4)NotePad、EditPlus、TextPad、TopStyle、UltraEdit等 (5)超文本标记语言、统一资源定位符(器&am…

Fiddler如何比较两个接口请求?

进行APP测试时,往往会出现Android和iOS端同一请求,但执行结果不同,这通常是接口请求内容差异所致。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddler抓包工具教程&…

多模态对比互学习和伪标签再学习半监督医学图像分割

文章目录 Multi-modal contrastive mutual learning and pseudo-label re-learning for semi-supervised medical image segmentation摘要本文方法实验结果总结 Multi-modal contrastive mutual learning and pseudo-label re-learning for semi-supervised medical image segm…

Linux系统之部署Yearning SQL审核平台

这里写目录标题 一、Yearning介绍1.1 Yearning简介1.2 Yearning特点1.3 Yearning功能 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查操作系统版本3.2 检查系统内核版本3.3 检查Docker版本 四、部署mysql数据库4.1 创建数据目录4.2 创建mysql数据…

【计网】第一章 计算机网络概述

文章目录 计算机网络概述一、计算机网络在信息时代中的作用二、互联网概述2.1 互连网概念2.2 网络的网络2.3 互连网基础结构发展的三个阶段2.4 互连网的标准化工作 三、互联网的组成3.1 互联网的边缘部分3.2 互联网的核心部分3.2.1 基础概念3.2.2 电路交换3.2.3 报文交换3.2.4 …

全网最全的以太坊ERC4626协议解析-ERC4626 - yield-bearing vaults

收益性存款 ERC4626 协议是一种用于代币化保险库的标准,它可以优化和统一收益保险库的技术参数。收益保险库是指使用不同策略来为用户提供最佳收益的合约,例如借贷市场、聚合器或本身具有利息的代币。ERC4626 协议提供了一个标准的 API,用于表…

html实现好看的个人介绍,个人主页模板5(附源码)

文章目录 1.设计来源1.1 主界面1.2 我的介绍界面1.3 我的能力界面1.4 项目案例界面1.5 联系我界面 2.效果和源码2.1 动态效果2.2 源代码2.3 源代码目录 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/13127331…

DJ4-4 CIDR、DHCP

目录 一、分类 IP 方法的问题 二、CIDR 1、CIDR 定义 2、CIDR 地址划分 三、DHCP 1、DHCP 概述 2、DHCP 工作过程 3、DHCP:C/S 场景 4、DHCP:不仅获得 IP 地址 四、组织机构获取 IP 地址 一、分类 IP 方法的问题 A 类的 IP 地址,有…

一天学完Java,主要记录difference

Java学习记录 Java中的内存区域划分Java中的包(package)Java中的枚举(Enum)Java中的包装类Java中的Math数学计算类Java中的Random&UUIDJava中的format数字格式化Java中字符串和数字的转换Java中的高精度计算Java中的String操作…

安装Ubuntu系统详细教程

一. 前言 本篇文章详解介绍一下如何安装Ubuntu系统,笔者在安装的过程中踩过很多坑,重装了很多次,现在把安装过程中遇到的问题也列出来,供大家参考。 二. 准备工作 这个环节很重要,工欲善其事,必先利其器。 …

数据结构--》从数据结构开始,打好算法基础

目录 数据结构的基本概念 数据结构的三要素 算法的基本概念 数据结构的基本概念 在学习某个知识之前,我们是否都有问过自己我们到底在学习的目的是什么?学习数据结构也一样,我们学习数据结构主要是为了用程序把现实世界的问题信息化&#…

银行项目软件测试中都测哪些内容呢?

在我们的日常在金融或银行软件测试工作中都有哪些内容需要测试?在这些测试的内容中如何去更好的掌握测试技能保证测试质量,一起来学习探讨交流。 如果你想拿到性能项目,可以进一下这个群:798478386 下面为银行测试点的概括&am…

php个人简历模板

php个人简历模板一 目前所在: 广州 年 龄: 31 户口所在: 汕头 国 籍: 中国 婚姻状况: 已婚 民 族: 汉族 身 高: 175 cm 体 重: 求职意向 人才类型: 普通求职 应聘职…

软件工程——第1章软件工程学概述知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.为什么要有软件工程这门学科? 2.软件分为哪些阶段? 3.软件危机的定义? 4.软件危机包含的问题有哪些&#xff…

Unity UGUI4——组合控件

一、Button ​ Button 是按钮组件,是 UGUI 中用于处理玩家按钮相关交互的关键组件 ​ 默认创建的 Button由 2 个对象组成 ​ 父对象——Button 组件依附对象,同时挂载了一个 Image 组件作为按钮背景图 ​ 子对象——按钮文本 Text(可选&…

【探索 Kubernetes|作业管理篇 系列 11】控制器核心功能

前言 大家好,我是秋意零。 上一篇结束了 Pod 对象的内容。 今天要探讨的内容是 “控制器”,它是 Kubernetes 编排最核心的功能。理解了 “控制器”,你就能理解 Deployment、StatefulSet、DaemontSet、Job、CroJob 控制器对象。 最近搞了一…

Windows 安装 Podman Desktop

Windows 安装 Podman Desktop podman 简介概述和范围Roadmap 路线图Rootless 无根 podman 安装说明Podman for Windows前置条件安装 podman自动 WSL 安装机器初始化过程启动 machine Rootful & Rootless安装 podman desktop podman 命令介绍podman -hpodman machine -h 参考…

2023最新最全!蓝队护网初级面试题大合集!必看!

前言 1.先来个自我介绍 答:本人从事网络安全工作10年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。 随着网络安全被列为国家安全战略的一部分&#xff0c…