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

redis非关系型数据库(缓存型数据库)——中间件

【重点】redis为什么这么快?(应届)

①redis是纯内存结构,避免磁盘I/O的耗时

②redis核心模块是一个单进程,减少线程切换和回收线程资源时间

③redis采用的是I/O的多路复用机制(每一个执行线路可以同时完成读、写),提升高并发效率(注:redis的读写仍然是单进程处理)

1、redis的服务控制命令

/etc/init.d/redis_6379 restart stop start status

2、redis的命令工具

redis-server:直接启动redis,只能启动

redis-benchmark:检测redis在本机的运行效果

redis-cli:命令行工具

redis-check-aof:检测AOF文件是否正常

redis-check-rdb:检测RDB文件是否正常

3、redis-benchmark语法

-h指定服务器的主机名(IP地址)

-p指定服务器的端口号6379

-c指定并发连接数

-n指定请求数

-a指定登录密码

4、登录redis

①方法1:redis-cli -h 20.0.0.14 -p 6379远程登录本机或别的服务器

②方法2:redis-cli直接使用,仅限于本地,远程登录仍需要指定目标服务器的IP地址

redis整个库

查看当前库中的键的数量

DBSIZE

切换库

SELECT 2

移动键值到指定库15

move guoqi1 15

设置密码

config set requirepass 123456

在外声明密码

redis-cli -h 20.0.0.14 -p 6379 -a 123456

在内声明密码

auth 123456

①查看当前库中的键的数量DBSIZE

redis默认有16个库,第一个是0,最后一个是15,每个数据库之间互相独立、互不干扰

②切换库SELECT 2

③移动键值到指定库15

move guoqi1 15

④设置密码config set requirepass 123456

在内声明密码auth 123456

在外声明密码redis-cli -h 20.0.0.14 -p 6379 -a 123456

⑤删除当前库FLUSHDB(删库跑路!坐牢)

⑥删除所有库FLUSHALL(删库跑路!坐牢)

5、redis五大数据类型【重点】

1)string字符串类型——string

默认类型,最大存储512MB的数据,可以存储任何数据,比如数字、文字、图片等

string字符串类型

查看当前库的键值对

KEYS *

KEYS test

KEYS t*

KEYS t?

KEYS t??

创建string类型的键值对

set test guoqi

查看键值对

get test

判断键是否存在(返回1代表存在;返回0代表不存在)

EXISTS test

删除键

del test1 test2

查看键的类型

type test

追加键值

append test1 hello

查看键的长度

STRLEN test1

自增键值

自减键值

INCR test1

decr test1

给键值增加/减少指定数值

DECRBY test1 3

INCRBY test1 50

给键值设置过期时间

SETEX test2 15 lo

对已有键值对修改生命周期

EXPIRE test 30

批量设置键值对

MSET key1 hello key2 world

批量打印多个键值对

MGET key1 key2

对键重命名

RENAME test guoqi

①查看当前库的键值对KEYS test

②创建键值对set test guoqi

③查看键值对get test

④判断键值对test是否存在EXISTS test

⑤删除键值对del test1 test2

⑥查看键值对的类型type test

⑦追加键值append test1 hello

键已存在,会追加到原有键值后,返回拼接后键值的长度

键不存在,会创建键,直接将键值写入,返回当前键值长度

⑧查看键值长度STRLEN test1

⑨自增键值INCR test1

自减键值 decr test1

注:只能对数字进行操作

⑩给键值增加/减少指定数值

DECRBY test1 3

INCRBY test1 50

⑪给键值设置过期时间 SETEX test2 15 lo

-2表示键值对已过期

-1表示键值对永不过期

⑫对已有键值对修改生命周期EXPIRE test 30

⑬批量设置键值对

MSET key1 hello key2 world

⑭打印多个键值对

duMGET key1 key2

⑮对键重命名RENAME test guoqi

2)list列表类型——string

列表中的元素是string类型

list列表类型

创建list类型的键值对

lpush guoqi a b c d e f g

查看键值对

lrange guoqi 0 -1

查看某个键值对【下标索引】

lindex guoqi1 0

查看1-2范围内的键值对

【下标索引,从0开始】

lrange guoqi1 1 2

插入数值

lpush guoqi1 10插入左侧

rpush guoqi1 20插入右侧

删除数值

LPOP guoqi1

RPOP guoqi1

修改数值

LSET guoqi1 3 shuai

(根据下表索引,3代表下表索引)

指定数值前插入

LINSERT guoqi1 before 3 zhende

(3代表数值,不是下表索引)

①创建列表键值对

lpush guoqi a b c d e f g倒序

rpush guoqi a b c d e f g正序

②查看某个键值对lindex guoqi1 0

③查看1-2范围内的键值对lrange guoqi1 1 2

④插入数值

lpush guoqi1 10在左侧插入

rpush guoqi1 20在右侧插入

⑤删除数值

LPOP guoqi1

RPOP guoqi1

⑥修改数值

 LSET guoqi1 3 shuai(根据下表索引,3代表下表索引)

⑦指定数值前插入LINSERT guoqi1 before 3 zhende(3代表数值,不是下表索引)

3hash类型

hash类型用于存储对象,采用hash格式进行操作,占用磁盘空间少,一个hash类型可以存储4294967295个(42亿个)键值对

hash类型

创建hsah类型的键值对

HSET guoqi2 tall yes(tall代表字段类型)

查看键值对

hget guoqi2 tall

添加新字段

hset guoqi2 tall yes

删除字段

hdel guoqi2 hansdon tall

创建多个字段和数值

hmset guoqi3 tall rich age 23 fcz yes

查询字段

hgetall guoqi3

直接查询字段及数值

hkeys guoqi3

直接查询数值

hvals guoqi3

删除键值对

del guoqi3

①创建hsah类型的键值对

HSET guoqi2 tall yes

②添加新字段hset guoqi2 tall yes

③查看多个字段的内容hmget info name address iphone

④删除字段 hdel info iphone

⑤创建多个字段和数值hmset guoqi3 tall rich age 23 fcz yes

⑥查询字段及数值、直接查询字段、直接查询数值

hgetall guoqi3

hkeys guoqi3

hvals guoqi3

⑦删除键值对del guoqi3

4set无序集合类型——string

元素类型也是string,元素是唯一的,不允许重复,多个集合类型可以进行并集、交集、差集进行运算

使用场景:set中的元素类型是唯一的,可以跟踪一些唯一性数据,例如访问微博的用户名,只要把对应名称写入redis,set自动保存唯一性,方便下次访问

set无序集合类型

创建set类型的键值对

SADD myset a c

查看成员

SMEMBERS myset

查看当前集合中的元素是否存在

SISMEMBER myset a

随机返回集合中的一个元素

SRANDMEMBER myset

随机移除

SPOP myset

指定移除

SREM myset h k

①创建set类型键值 SADD myset a c

②查看成员SMEMBERS myset

③查看当前集合中的元素是否存在SISMEMBER myset a

④随机返回集合中的一个元素SRANDMEMBER myset

⑤随机移除SPOP myset

⑥指定移除 SREM myset h k

5zset有序集合类型——string

元素类型也是string,元素唯一,不能重复。每个元素都会关联一个double类型(小数点)的分数(score,表示权重),可以通过权重的大小进行排序,元素的权重可以相同

使用场景:在线积分的排行榜,实时更新用户的分数

zrange命令获取积分top10的用户,zrank命令通过username获取用户的排行信息

zset有序集合类型

创建zset类型的键值

ZADD myzset 1 one

查看元素和权重

ZRANGE myzset 0 -1 withscores

查看成员的权重

ZSCORE myzset two

查询成员数量

ZCARD myzset

统计权重在1~2范围内的成员数量

ZCOUNT myzset 1 2

删除成员

ZREM myzset three

获取位置索引

ZRANK myzset one

①创建zset类型的键值ZADD myzset 1 one

②查看元素和权重ZRANGE myzset 0 -1 withscores

③查看成员的权重ZSCORE myzset two

④获取位置索引 ZRANK myzset one

⑤查询成员数量ZCARD myzset

⑥统计权重在1~2范围内的成员数量ZCOUNT myzset 1 2

⑦删除成员ZREM myzset three

6、普通类型set和hash类型hset该如何选择?

一般情况下,无特殊需求时,普通创建方式即可;但对一个键值进行多字段存储及节省内存可以使用hash方式

相关文章:

redis非关系型数据库(缓存型数据库)——中间件

【重点】redis为什么这么快?(应届) ①redis是纯内存结构,避免磁盘I/O的耗时 ②redis核心模块是一个单进程,减少线程切换和回收线程资源时间 ③redis采用的是I/O的多路复用机制(每一个执行线路可以同时完…...

Android 9.0 隐藏设置显示中自动调节亮度

Android 9.0 隐藏设置显示中自动调节亮度 最近收到邮件需求提到想要隐藏设置显示中的自动调节亮度&#xff0c;具体修改参照如下&#xff1a; /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml - <Preference<!--Preferencea…...

2020年计网408

第33题 下图描述的协议要素是&#xff08; &#xff09;。I. 语法 II. 语义 III. 时序 A. 仅 I B. 仅 II C. 仅 III D. I、II 和 III 本题考察网络协议三要素的相关知识。 网络协议的三要素分别是语法、语义、同步&#xff08;时序&#xff09;。语法&#xff1a;定义收发双…...

手把手教你编写LoadRunner脚本

编写 LoadRunner 脚本需要熟悉脚本语言、业务场景、参数化技术、断言和事务等基础知识。 在实际编写时&#xff0c;可以根据具体测试需求&#xff0c;结合实际情况进行合理的配置和调整。 基本步骤 创建脚本 在 LoadRunner 的 Controller 模块中&#xff0c;创建一个新的测…...

2311rust,到74版本更新

1.66.0稳定版 显式判定有字段的枚举 即使有字段,带整数表示的枚举现在也可用显式判定器. #[repr(u8)] enum Foo {A(u8),B(i8),C(bool) 42, }跨语言边界传递值时,在两个语言中匹配枚举表示时,显式判定器非常有用.如 #[repr(u8)] enum Bar {A,B,C 42,D, }这里保证Bar枚举有…...

Web项目从Tomcat迁移到TongWeb

注意事项 1. 使用JNDI方式获取数据源&#xff1a; ①在TongWeb创建JDBC连接池; ②修改Web项目数据源配置. #spring.datasource.urljdbc:mysql://127.0.0.1:3306/demo #spring.datasource.usernametest #spring.datasource.passwordspring.datasource.jndi-namedemo2. 修…...

Polygon Miden VM架构总览

1. 计算类型 Programs程序有2种类型&#xff1a; 1&#xff09;Circuit电路&#xff1a;即&#xff0c;程序即电路。将程序转换为电路。2&#xff09;Virtual machine虚拟机&#xff1a;即&#xff0c;程序为电路的输入。【Miden VM属于此类型】 2. 何为ZK virtual machine…...

ultralytics yolov8 实例分割 训练自有数据集

参考: https://docs.ultralytics.com/datasets/segment/coco/ http://www.bryh.cn/a/613333.html 1、数据下载与转换yolo格式 1)数据集下载: 参考:https://universe.roboflow.com/naumov-igor-segmentation/car-segmetarion 下载的是coco格式,需要转换 2)coco2yolo t…...

linux之进程地址空间

文章目录 1.进程地址空间回顾1.1进程地址空间划分1.2验证进程地址空间划分1.简单划分2.完整划分 2.初探进程地址空间2.1初看现象2.2Makefile的简便写法 3.进程地址空间详解3.1地址空间是什么?3.2地址空间的设计/由来3.3空间区域划分3.4如何理解地址空间?3.5解释3.2的&#x1…...

Cloud微服务

当我们谈论“云微服务”时&#xff0c;通常是指基于云计算和微服务架构的应用程序开发和部署模型。以下是关于云微服务的一些详细信息&#xff1a; 微服务架构&#xff1a; 微服务架构是一种软件设计和开发模式&#xff0c;将应用程序划分为一组小型、独立的服务单元。每个服…...

BLIP-2:冻结现有视觉模型和大语言模型的预训练模型

Li J, Li D, Savarese S, et al. Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models[J]. arXiv preprint arXiv:2301.12597, 2023. BLIP-2&#xff0c;是 BLIP 系列的第二篇&#xff0c;同样出自 Salesforce 公司&…...

PyQt(学习笔记)

学习资料来源&#xff1a; PyQt快速入门——b站王铭东老师 PyQt官网的所有模块 C具体实现的官方文档 PyQt&#xff08;学习笔记&#xff09; PyCharm环境准备运行第一个程序QPushButtonQLabelQLineEdit调整窗口大小、位置、图标布局信号与槽PyQt引入多线程 PyCharm环境准备 新…...

策略模式应用(内窥镜项目播放不同种类的视频)

新旧代码对比 策略模式 基本概念 策略模式是一种行为设计模式&#xff0c;它定义了一系列算法&#xff0c;将每个算法封装起来&#xff0c;并且使它们可以互相替换。策略模式允许客户端选择算法的具体实现&#xff0c;而不必改变客户端的代码。这样&#xff0c;客户端代码就…...

【操作系统】Bochs安装和配置

Bochs是使用C编写的高度可移植开源IA-32&#xff08;X86&#xff09;PC模拟器&#xff0c;能在大多数流行的平台上运行。它包括模拟Intel x86 CPU、常见I/O设备和自定义BIOS。Bochs可以被编译以模拟许多不同的x86 CPU&#xff0c;从386早期到最新的x86-64英特尔和AMD处理器甚至…...

【Vue】Node.js的下载安装与配置

目录 一.下载安装 官网&#xff1a; 二.环境变量的配置 三.设置全局路径和缓存路径 四.配置淘宝镜像 五.查看配置 六.使用npm安装cnpm ​ 一.下载安装 官网&#xff1a; https://nodejs.org/en/download 下载完之后&#xff0c;安装的时候一直点next即可&#xff0c…...

C语言从入门到实战——数组和指针的强化练习题

数组和指针的强化练习题 前言1. sizeof和strlen的对比1.1 sizeof1.2 strlen1.3 sizeof和strlen的对⽐ 2. 数组和指针笔试题解析2.1 一维数组2.2 字符数组2.3 二维数组 3. 指针运算笔试题解析3.1 题目1&#xff1a;3.2 题目23.3 题目33.4 题目43.5 题目53.6 题目63.7 题目7 前言…...

经典滑动窗口试题(一)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、将x减到0的最小操作数1、题目讲解2、讲解算法原理3、代码实现 二、无重复的最长子串1、题…...

【paddlepaddle】

安装paddlepaddle 报错 ImportError: /home/ubuntu/miniconda3/envs/paddle_gan/bin/../lib/libstdc.so.6: version GLIBCXX_3.4.30 not found (required by /home/ubuntu/miniconda3/envs/paddle_gan/lib/python3.8/site-packages/paddle/fluid/libpaddle.so) 替换 /home/ubu…...

String 、StringBuffer 和 StringBuilder 的区别?

String 使用 String 声明一个字符串的时候&#xff0c;该字符串会存放在堆中的字符串常量池中。因为在java中所有的String 都是以常量表示&#xff0c;且由 final 修饰&#xff0c;因此在线程池中它的线程是安全的 且 不可变的 。每个 String 在被创建后就不再发生任何变化。 …...

【DevOps】Git 图文详解(六):Git 利器 - 分支

Git 利器 - 分支 1.分支 Branch2.分支指令 &#x1f525;3.分支的切换 checkout4.合并 merge & 冲突4.1 &#x1f538; 快速合并&#xff08;Fast forward&#xff09;4.2 &#x1f538; 普通合并4.3 处理冲突 <<<<<<< HEAD 5.变基 rebase 分支是从主…...

线性回归系数解读:从数学本质到业务应用

1. 线性回归系数解读的核心价值 线性回归模型作为统计学中最基础的预测工具&#xff0c;其系数解读能力直接决定了模型的应用价值。我在金融风控领域使用线性回归的八年实践中发现&#xff0c;90%的模型误用案例都源于对系数的错误解读。一个典型的误区是&#xff1a;分析师常把…...

想把你的ASIC设计塞进FPGA里跑起来?手把手拆解硬件仿真工具的前端“黑盒”:从RTL代码到门级网表

从RTL到门级网表&#xff1a;FPGA硬件仿真的前端设计深度解析 在芯片设计领域&#xff0c;验证环节往往占据整个开发周期的70%以上工作量。当ASIC设计规模突破千万门级时&#xff0c;传统的软件仿真&#xff08;Simulation&#xff09;方法已经难以满足验证效率需求。这时&…...

华硕笔记本性能优化神器:G-Helper终极使用指南与技巧大全

华硕笔记本性能优化神器&#xff1a;G-Helper终极使用指南与技巧大全 【免费下载链接】g-helper The control app every laptop should come with. G-Helper is a fast, native tool for tuning performance, fans, GPU, battery, and RGB on any Asus laptop or handheld - RO…...

GTE文本向量在客服场景的应用:快速分析用户反馈与情感倾向

GTE文本向量在客服场景的应用&#xff1a;快速分析用户反馈与情感倾向 1. 客服场景中的文本分析挑战 每天&#xff0c;客服系统都会收到大量用户反馈&#xff0c;这些文本数据蕴含着宝贵的用户需求和体验信息。传统的人工阅读和分析方式存在三个主要问题&#xff1a; 效率低…...

抖音无水印下载终极方案:douyin-downloader 完整实战教程

抖音无水印下载终极方案&#xff1a;douyin-downloader 完整实战教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

Youtu-Parsing算法核心:Attention机制如何实现图文对齐与理解

Youtu-Parsing算法核心&#xff1a;Attention机制如何实现图文对齐与理解 最近在折腾一些图文理解的项目&#xff0c;发现一个挺有意思的现象&#xff1a;很多模型在处理“看图说话”这类任务时&#xff0c;效果总是不尽如人意。要么是描述得牛头不对马嘴&#xff0c;把猫说成…...

Demucs-GUI音乐分离工具终极指南:零基础到专业级音频处理

Demucs-GUI音乐分离工具终极指南&#xff1a;零基础到专业级音频处理 【免费下载链接】Demucs-Gui A GUI for music separation AI demucs 项目地址: https://gitcode.com/gh_mirrors/de/Demucs-Gui 想要将歌曲中的人声、鼓点、贝斯等元素完美分离出来吗&#xff1f;Dem…...

Spring Cloud微服务日志改造实战:从logback平滑迁移到log4j2,并搞定异步线程TraceId丢失问题

Spring Cloud微服务日志改造实战&#xff1a;从Logback到Log4j2的平滑迁移与TraceId全链路追踪 在微服务架构中&#xff0c;日志系统如同神经系统的感知末梢&#xff0c;承载着系统运行状态的完整记录。当服务调用链路变得复杂&#xff0c;特别是涉及异步处理时&#xff0c;传统…...

Get cookies.txt LOCALLY:重新定义浏览器Cookie本地安全导出的技术方案

Get cookies.txt LOCALLY&#xff1a;重新定义浏览器Cookie本地安全导出的技术方案 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在数据安全日益…...

基于微信小程序的小区服务管理系统pf(文档+源码)_kaic

5 系统实现5.1管理员功能介绍5.1.1管理员登录系统登录功能是程序必不可少的功能&#xff0c;在登录页面必填的数据有两项&#xff0c;一项就是账号&#xff0c;另一项数据就是密码&#xff0c;当管理员正确填写并提交这二者数据之后&#xff0c;管理员就可以进入系统后台功能操…...