关系型数据库Redis安装与写入数据
文章目录
- 安装和初步
- 选择数据库
- 创建键值对
- 数据类型
安装和初步
安装
Redis是开源的跨平台非关系型数据库,特点是占用资源低、查询速度快。
首先,在Github上下载最新发布的Redis-xxxx.zip
压缩文件,下载之后解压,并将解压后的路径添加到环境变量,然后打开命令行,输入
redis-server
然后就会出现Redis的图标,并提示是否允许连接网络,然后Redis服务就开启了。
然后新开一个命令行,输入redis-cli
即可进入redis的命令行,由于redis基于TCP/IP协议,所以进入命令行后,前面显示的是IP地址和端口,默认127.0.0.1和6379。
redis-cli
127.0.0.1:6379>
输入ping
可以检测redis服务(即redis-server)是否开启,如果开启会得到一个pong
127.0.0.1:6379> ping
PONG
输入exit
可退出redis命令行。
选择数据库
Redis默认有16个数据库,分别由序号0到15来表示,默认操作的是0号数据库,通过select可以更改
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK
需要注意,在redis中
- 不支持自定义数据库名
- 不支持为每个数据库设置密码
- 数据库之间并非完全隔离的,有一些命令会对所有数据库有效,例如
flushall
会清空所有数据库的数据;如果只想清除档期那数据库,那么可用flushdb
创建键值对
Redis作为关系型数据库,其数据内容是以键值对的形式存储的,键和值之间的关系就如编程语言的变量名和变量值一样,通过set可以进行绑定,示例如下
127.0.0.1:6379> set micro "cold"
OK
127.0.0.1:6379> get micro
"cold"
上面的案例中,将字符串cold
绑定给了micro
,换言之"cold"是micro的值,而micro是"cold"的键。
exists
命令可以查询键是否存在,如果存在则返回1,否则返回0;通过keys *
可列举出所有符合要求的键,例如下面就通过keys命令,查找所有m开头的键,并找到了micro。
127.0.0.1:6379> exists micro
(integer) 1
127.0.0.1:6379> keys m*
1) "micro"
del可以删除键,示例如下,删除micro之后,exists函数返回0,而且数据库中就一个键也没有了。
127.0.0.1:6379> del micro
(integer) 1
127.0.0.1:6379> exists micro
(integer) 0
127.0.0.1:6379> keys *
(empty list or set)
数据类型
除了字符串之外,redis还支持哈希、列表、集合以及有序集合等数据结构。
其中,哈希即散列表,是一个键值对集合,可通过hmset
进行设置,通过hget
可以查找某个哈希表中的键对应的值。下面创建一个哈希表hashLst
,其内容用json的形式可表示为{"37":"21", "47":"28", "55":"25}"
127.0.0.1:6379> hmset hashLst "37" "21" "47" "28" "55" "25"
OK
127.0.0.1:6379> hget hashLst "37"
"21"
列表就是按照顺序存储的表,用lpush
创建,但需注意,其添加元素的顺序是从头添加,所以最后得到的顺序是相反的。
127.0.0.1:6379> lpush Lst "0" "1" "2" "3"
(integer) 4
127.0.0.1:6379> lrange Lst 0 4
1) "3"
2) "2"
3) "1"
4) "0"
集合是一个不允许存在相同元素的数据结构,可通过sadd
向其中添加元素,下面的实例中,添加了abcc四个元素,但由于两个c重复了,所以最终setTest只有3个元素。
127.0.0.1:6379> sadd setTest "a" "b" "c" "c"
(integer) 3
有序集合通过zadd
来添加元素,过程与集合雷同,就不展示了。
这五种数据类型的创建方法如下表所示。
数据类型 | 字符串 | 哈希 | 列表 | 集合 | 有序集合 |
---|---|---|---|---|---|
创建命令 | set | hmset | lpush | sadd | zadd |
相关文章:

关系型数据库Redis安装与写入数据
文章目录 安装和初步选择数据库创建键值对数据类型 安装和初步 安装 Redis是开源的跨平台非关系型数据库,特点是占用资源低、查询速度快。 首先,在Github上下载最新发布的Redis-xxxx.zip压缩文件,下载之后解压,并将解压后的路径…...

《红蓝攻防对抗实战》十二.内网穿透之利用ICMP协议进行隧道穿透
内网穿透之利用ICMP协议进行隧道穿透 一.前言二.前文推荐三.利用ICMP协议进行隧道穿透1.ICMPsh获取反弹shell2.PingTunnel 搭建隧道 四.本篇总结 一.前言 本文介绍了利用ICMP协议进行隧道穿透的方法。ICMP协议不需要开放端口,可以将TCP/UDP数据封装到ICMP的Ping数据…...
【海德教育】国家开放大学和函授区别有:学校不同、入学门槛不同、学习方式不同、招生对象不同、学习年限不同,具体如下:
一、学校不同。 国家开放大学的招收学校是中央电大和各省市、自治州、市辖区及单设的国家开放大学。函授是成人高考学习方式,成考是普通高等院校举行的、单设的成人高等学校。 二、入学门槛不同。 国家开放大学对入学者的年龄、职业、地区和学习资历等方面都没有太多…...

单片机启动流程
存储器 一个单片机中存在rom和ram,Soc也有rom和ram(ddrx),部分Soc还包含MMU(Memory Manage Unit 内存管理单元)— (用于系统内存管理,比如说虚拟内存空间,内存区间的…...

Linux学习教程(第二章 Linux系统安装)2
第二章 Linux系统安装 四、使用U盘安装Linux系统 前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上。 直接在电脑上安装 Linux 系统的常用方法有 2 种,分别是用光盘安装和用…...

操作系统 | proc文件系统
🌈个人主页:Sarapines Programmer🔥 系列专栏:《操作系统实验室》🔖少年有梦不应止于心动,更要付诸行动。 目录结构 1. 操作系统实验之proc文件系统 1.1 实验目的 1.2 实验内容 1.3 实验步骤 1.4 实验…...
刷题笔记(第五天)
1. 给定一个罗马数字,将其转换成整数。 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 …...
【OpenHarmony内核】Harmony内核互斥性信号量
文章目录 前言一、互斥性信号量是什么?二、互斥性信号量2.1 osSemaphoreNew函数创建并初始化一个信号量对象2.2 osSemaphoreGetName获取信号量对象的名称2.3 osSemaphoreAcquire获取一个信号量令牌2.4 osSemaphoreRelease2.5 osSemaphoreGetCount获取当前信号量令牌的数量2.6 …...
给OFFICE增加一个功能搜索
OFFICE功能几乎是无限的。不论你怎么熟悉,总有出乎意料的功能。前几天我使用EXCEL时,发现一个功能改名了。于是我就想,OFFICE应该增加一个功能搜索: 提供一个搜索输入栏。这个已经有了。输入搜索字串弹出一个面板,附带…...

53基于matlab的Tamura纹理特征提取
基于matlab的Tamura纹理特征提取,包括粗糙度、对比度、方向度、线性度、规则度、粗糙度六种,可替换自己的数据进行特征提取。程序已调通,可直接运行。 53 方向度、线性度、规则度 (xiaohongshu.com)...

C++初阶--类与对象(3)(图解)
文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中,编译器会通过构造函数,对对象中各个成员给出一个适合的初始值,但这并不能称之为初始…...

考研分享第1期 | 末9生物跨专业考研北京大学电子信息404分经验分享
全文概览 一、个人信息 二、关于考研的经验分享 三、最后的小Tips 一、个人信息 姓名:Jackson 本科院校:某末流985生物专业 报考院校:北京大学电子信息专业 择校意向:北航计算机、人大高瓴、复旦软院、清华大学深研院、北…...

openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库
文章目录 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库120.1 密态等值查询概述120.2 使用gsql操作密态数据库 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库 120.1 密态等值查询…...

软件自动化测试平台
软件测试分类黑盒、白盒、功能、API、接口、压力测试和性能测试, 自动化测试平台是一种用于自动化执行软件测试过程的工具。 一、自动化测试平台-功能性 1. 接口自动化:对接软件的接口进行测试,验证接口的功能和性能。 2. Web 自动化&…...
springMVC 导出Excel ,并提供下载(处理日期格式问题)
目录 1、POI的三个依赖 2、控制层代码 3、业务层代码 4、参考文献: 1、POI的三个依赖 <!-- POI的三个依赖 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</vers…...
软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案
软件工程理论与实践 (吕云翔) 第二章课后习题 第二章 软件过程 1.判断题 (1)瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 ( ) (2)螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( ) …...

HTML跳转锚点
跳转锚点适用于本页面和其他页面的任意标签的跳转以及JavaScript的运行 使用方法即给标签加上独一无二的id属性,再使用a标签跳转 如果是其他页面的标签只需加上其他页面的路径,eg.href"其他页面的路径#zp1" id属性的最好不要使用数字开头 <…...

新能源汽车高压线束是如何快速连接到测试设备上进行电性能测试的
快速连接形成稳定的电测试在新能源行业里面是很常见的测试场景,比如说在新能源汽车行业的电池包、电机、电控制器的电性能测试中会有很多高压线束,需要将这些线束和电池包、电控制器、电机与测试设备快速连接在一起进行相关的EOL/DCR测试。 新能源汽车高…...

Azure 机器学习 - 使用受保护工作区时的网络流量流
目录 环境准备入站和出站要求方案:从工作室访问工作区方案:从工作室使用 AutoML、设计器、数据集和数据存储方案:使用计算实例和计算群集方案:使用联机终结点入站通信出站通信 方案:使用 Azure Kubernetes 服务方案&am…...

强化学习中蒙特卡罗方法
一、蒙特卡洛方法 这里将介绍一个学习方法和发现最优策略的方法,用于估计价值函数。与前文不同,这里我们不假设完全了解环境。蒙特卡罗方法只需要经验——来自实际或模拟与环境的交互的样本序列的状态、动作和奖励。从实际经验中学习是引人注目的&#x…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...