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

关系型数据库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来添加元素,过程与集合雷同,就不展示了。

这五种数据类型的创建方法如下表所示。

数据类型字符串哈希列表集合有序集合
创建命令sethmsetlpushsaddzadd

相关文章:

关系型数据库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、参考文献&#xff1a; 1、POI的三个依赖 <!-- POI的三个依赖 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</vers…...

软件工程理论与实践 (吕云翔) 第二章软件过程 课后习题及其答案

软件工程理论与实践 (吕云翔) 第二章课后习题 第二章 软件过程 1.判断题 &#xff08;1&#xff09;瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 ( ) &#xff08;2&#xff09;螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( ) &#xf…...

HTML跳转锚点

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

新能源汽车高压线束是如何快速连接到测试设备上进行电性能测试的

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

Azure 机器学习 - 使用受保护工作区时的网络流量流

目录 环境准备入站和出站要求方案&#xff1a;从工作室访问工作区方案&#xff1a;从工作室使用 AutoML、设计器、数据集和数据存储方案&#xff1a;使用计算实例和计算群集方案&#xff1a;使用联机终结点入站通信出站通信 方案&#xff1a;使用 Azure Kubernetes 服务方案&am…...

强化学习中蒙特卡罗方法

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

LingBot-Depth进阶使用:结合API实现批量图片深度估计自动化

LingBot-Depth进阶使用&#xff1a;结合API实现批量图片深度估计自动化 1. 引言&#xff1a;为什么需要批量深度估计&#xff1f; 在日常的计算机视觉项目中&#xff0c;我们经常需要处理大量图片的深度估计任务。无论是构建3D场景数据集、开发机器人导航系统&#xff0c;还是…...

Visio图表高效转EPS:完整步骤与常见问题解析

1. Visio转EPS的必备工具与前期准备 第一次把Visio图表转成EPS格式时&#xff0c;我对着论文投稿系统里的格式要求发愁了半天。作为科研狗必备技能&#xff0c;这个转换其实比你想象的简单得多。先说说需要准备的软件组合&#xff1a;Visio本身&#xff08;2013及以上版本更稳…...

Wan2.2-I2V-A14B WebUI A/B测试:不同UI布局对运营人员生成效率影响分析

Wan2.2-I2V-A14B WebUI A/B测试&#xff1a;不同UI布局对运营人员生成效率影响分析 1. 测试背景与目标 在内容创作领域&#xff0c;视频生成工具的效率直接影响运营团队的工作产出。Wan2.2-I2V-A14B作为一款专业的文生视频模型&#xff0c;其WebUI界面设计对用户体验至关重要…...

终极BottomNavigation徽章系统详解:从基础文本到复杂形状的完整实现指南

终极BottomNavigation徽章系统详解&#xff1a;从基础文本到复杂形状的完整实现指南 【免费下载链接】BottomNavigation This Library helps users to use Bottom Navigation Bar (A new pattern from google) with ease and allows ton of customizations 项目地址: https:/…...

The Algorithms - PHP搜索算法详解:二分查找到插值搜索的完整教程

The Algorithms - PHP搜索算法详解&#xff1a;二分查找到插值搜索的完整教程 【免费下载链接】PHP All Algorithms implemented in PHP 项目地址: https://gitcode.com/gh_mirrors/php1/PHP 在编程世界中&#xff0c;搜索算法是处理数据查找的基础工具。PHP搜索算法不仅…...

深度解析AI Agent的工具调用机制:注册发现、动态选择与执行链路设计

深度解析AI Agent的工具调用机制:注册发现、动态选择与执行链路设计 关键词 AI Agent, 工具调用, 注册发现, 动态选择, 执行链路, LLM, 函数调用 摘要 随着大型语言模型(LLM)的快速发展,AI Agent作为一种能够自主完成复杂任务的智能体正日益受到关注。本文将深度解析AI A…...

SEATA分布式事务——AT模式僮

简介 AI Agent 不仅仅是一个能聊天的机器人&#xff08;如普通的 ChatGPT&#xff09;&#xff0c;而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统&#xff0c;更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料&#xff0c;agent的…...

实战分享:我把Qwen2.5-7B-Instruct变成专属文本分类器,LlamaFactory LoRA微调+推理加速全记录

从零构建Qwen2.5-7B文本分类引擎&#xff1a;LlamaFactory LoRA微调与vLLM推理加速实战 去年接手一个政务文本分类项目时&#xff0c;传统BERT模型在长文本场景下的表现让我屡次陷入调参困境。直到尝试用Qwen2.5-7B-Instruct配合LlamaFactory进行LoRA微调&#xff0c;才发现大语…...

M3GIM2:面向mbed OS的3G IoT模组轻量级驱动库

1. 项目概述M3GIM2 是专为 mbed OS 平台设计的轻量级驱动库&#xff0c;面向日本 Tabrain 公司推出的3GIM&#xff08;3G IoT Module&#xff09;通信模组。该模组定位于工业级低功耗物联网终端&#xff0c;支持 WCDMA/HSDPA&#xff08;UMTS Band I/VI/VIII&#xff09;、内置…...

Arduino设备控制项目实战:从Demo代码到量产固件

1. 项目概述Goldfish4Tech 并非一个标准开源嵌入式库&#xff0c;其 GitHub 或公开技术平台中未收录可检索的源码仓库、API 文档或硬件设计资料。根据所提供的唯一有效输入信息——项目标题 "Goldfish4Tech"、摘要 "Arduino demo code for project"、关键词…...