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方式

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

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

相关文章

ESP32-Web-Server编程- JS 基础 3

ESP32-Web-Server编程- JS 基础 3 概述 本示例演示通过 button 控件的 onclick 内联属性,实现在网页上点击按钮,切换 LED 灯图标的转变。 示例解析 前端设计 前端代码建立了一个 id 为 “imageLamp” 的图片对象。并建立两个按钮,设计两…

Python逻辑运算符及其用法

逻辑运算符用于操作 bool 类型的变量、常量或表达式,逻辑运算的返回值也是 bool 值。 Python 的逻辑运算符有如下三个: and:与,前后两个操作数必须都是 True 才返回 True;否则返回 False。 or:或&#x…

SpringBoot 2 系列停止维护,Java8 党何去何从?

SpringBoot 2.x 版本正式停止更新维护,官方将不再提供对 JDK8 版本的支持 SpringBoot Logo 版本的新特性 3.2 版本正式发布,亮点包括: 支持 JDK17、JDK21 版本 对虚拟线程的完整支持 JVM Checkpoint Restore(Project CRaC&…

0005Java程序设计-ssm基于微信小程序的校园求职系统

文章目录 摘 要目 录系统设计开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据…

工艺系统所管理数字化实践

摘要 本文介绍了上海核工程设计研究院在数字化转型方面的实践,包括业务数字化和管理数字化两个方面。业务数字化方面,该院通过开发小工具改进工作流程。管理数字化方面,该院采用零代码平台集中管理管道力学信息相关模型和数据,并…

visionOS空间计算实战开发教程Day 2 使用RealityKit显示3D素材

我们在​​Day1​​中学习了如何创建一个visionOS应用,但在第一个Demo应用中我们的界面内容还是2D的,看起来和其它应用并没有什么区别。接下来我们先学习如何展示3D素材,苹果为方便开发人员,推出了RealityKit,接下来看…

【活动回顾】sCrypt在2023伦敦区块链大会上的精彩表现

2023伦敦区块链大会,是本年度最盛大的比特币及区块链行业活动。大会于2023年5月31日至6月2日,在伦敦女王伊丽莎白二世中心举行,旨在展示BSV区块链的真正潜力。 sCrypt Inc 的创始人兼 CEO 刘晓晖, 作为演讲嘉宾出席了会议。他向大…

前端开发_HTML

简介 CSS用于美化内容 HTML用于摆放内容 可以理解为HTML是基础&#xff0c;CSS是工具 HTML定义 HTML 超文本标记语言——HyperText Markup Language 超文本——链接 标记——标签&#xff0c;即带尖括号的文本 标签语法 双标签 开始标签&#xff1a; <xxx> 即尖…

vue el-table表格中每行上传文件(上传简历)操作

1、HTML中 <el-table :data"formInfo.userListDto" border stripe max-height"400"><el-table-column type"index" label"序号" width"50"> </el-table-column><el-table-column prop"realName&q…

鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Extend扩展组件样式与stateStyles多态样式(十一)

一、Extend扩展组件样式 1、作用 前文提到可以使用Styles用于样式的扩展&#xff0c;在Styles的基础上&#xff0c;ArkTS语法还提供了Extend&#xff0c;⽤于扩展原生组件样式&#xff0c;包括Text、Button等等。 2、定义语法 Extend(UIComponentName) function functionNam…

在PyCharm中配置PyQt5环境

在PyCharm中配置PyQt5环境 文章目录 1.安装第三方库2.PyQt5设计器3.PyUIC转换工具 &#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1f339;꧔ꦿ&#x1…

【AI认证笔记】NO.2人工智能的发展

目录 一、人工智能的发展里程碑 二、当前人工智能的发展特点 1.人工智能进入高速发展阶段 2.人工智能元年 三、人工智能高速发展的三大引擎 1.算法突破 2.算力飞跃 3.数据井喷 四、AI的机遇 五、AI人才的缺口 六、行业AI 人工智能算法&#xff0c;万物互联&#xff…

ky10 server x86 安装、更新openssl3.1.4(在线编译安装、离线安装)

查看openssl版本 openssl version 离线编译安装升级 #!/bin/shOPENSSLVER3.1.4OPENSSL_Vopenssl versionecho "当前OpenSSL 版本 ${OPENSSL_V}" #------------------------------------------------ #wget https://www.openssl.org/source/openssl-3.1.4.tar.gzech…

异步操作的方法

在高级语言中已经有了异步的原语言&#xff0c;而在C 中的最好的方式就是 libevent 的方式,我这还是相当认同的&#xff0c;高级语言就不需要在苦哈哈的&#xff0c;事件转圈了&#xff0c;但是原理还是以事件为基础的 一句话就是在一个循环中等着他执行完,这个循环中有很多其他…

XML映射文件

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"org.mybatis.example.BlogMapper&q…

电子学会C/C++编程等级考试2021年06月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字放大 给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。 时间限制:1000 内存限制:65536输入 包含三行: 第一行为N,表示整数序列的长度(N ≤ 100); 第二行为N个整数(不超过整型范围),整数之间以一个空格…

Python三百行代码实现一简约个人博客网站(全网最小巧)

这是全互联网最小巧的博客&#xff0c;没有比这更小的了。虽然小巧&#xff0c;但功能一点儿也不弱&#xff0c;支持文章的分页展示&#xff0c;文章表格&#xff0c;图片和代码语法高亮。文章无限制分类&#xff0c;访问量统计&#xff0c;按时间和按点击量排序&#xff0c;展…

【matlab程序】南海土台风画法

【matlab程序】南海土台风画法 图片 往期推荐 图片 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深nc文件并水深地形图 【python海洋专题三】图像修饰之画布和坐标轴 【Python海洋专题四】之水深地图图像修饰 【Python海洋专…

将图像的rgb数据转成DICOM医学图像格式

dcmtk官方文档&#xff1a;https://support.dcmtk.org/docs/ dcmtk最新源码下载&#xff1a;https://www.dcmtk.org/en/dcmtk/dcmtk-software-development/ dcmtk旧版本源码下载&#xff1a;https://dicom.offis.de/download/dcmtk/ 用DCMTK库实现将图像转成dcm格式 dcmtk库的…

三.排序与分页

目录 一.排序数据二.分页 一.排序数据 1.排序规则 使用ORDER BY 子句排序 ASC&#xff08;ascend&#xff09;升序DESC&#xff08;descend&#xff09;降序 ORDER BY 子句在SELECT语句的结尾 2.单列排序 SELECT last_name, job_id, department_id, hire_date FROM e…