【Redis | 第一篇】快速了解Redis

文章目录

  • 1.快速了解Redis
    • 1.1简介
    • 1.2与其他key-value存储的不同处
    • 1.3Redis安装——Windows环境
      • 1.3.1下载redis
      • 1.3.2启动redis
      • 1.3.3进入redis客户端
      • 1.3.4修改配置
    • 1.4Redis安装——Linux环境
      • 1.4.1安装命令
      • 1.4.2启动redis
      • 1.4.3进入redis客户端
    • 1.5配置修改
    • 1.6小结

1.快速了解Redis

1.1简介

Redis(Remote Dictionary Server) 是一个开源的内存存储系统,常用于构建高性能、高可扩展性的应用程序。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,并提供了丰富的操作命令,使开发人员能够快速、灵活地处理数据。

Redis 是完全开源的,遵守 BSD 协议,是一个基于内存,高性能的 key-value 数据库

1.2与其他key-value存储的不同处

  1. 内存存储:Redis 是基于内存的存储系统,数据存储在内存中,因此读写速度非常快。相比之下,传统的关系型数据库通常将数据存储在磁盘上,读写速度较慢。
  2. 持久化:Redis 支持多种持久化方式,如 RDB 持久化和 AOF 持久化,可以将数据定期保存到磁盘中,以防止数据丢失。而传统的关系型数据库通常具有 ACID 特性,保证数据的一致性和持久性。
  3. 数据结构:除了简单的 key-value 存储外,Redis 还支持多种复杂的数据结构,如列表、集合、有序集合和哈希表等。这些数据结构可以用于更灵活地存储和处理数据,适用于不同的应用场景。
  4. 缓存:Redis 常被用作缓存服务器,用于加速对数据库或其他后端存储系统的访问。通过缓存热点数据,可以减少对后端存储的查询次数,提高系统性能。

1.3Redis安装——Windows环境

1.3.1下载redis

**下载地址:**https://github.com/tporadowski/redis/releases。

image-20240227183133510

1.3.2启动redis

当前文件夹,进入cmd命令行窗口,在命令行输入以下命令

这样就启动了redis服务

redis-server.exe redis.windows.conf

关闭redis的快捷键是ctrl + c

image-20240227183507475

1.3.3进入redis客户端

在确保redis启动的条件下,还是在当前文件夹,进入cmd窗口,输入以下命令,进入redis客户端,使用ping命令验证

redis-cli.exe

image-20240227183659469

1.3.4修改配置

修改密码

image-20240227184024560

打开该文件:注意,requirepass前面不能有空格,否则会报错

image-20240227184237639

重新进入客户端,搭配-a 加上密码进入客户端

image-20240227184707391

1.4Redis安装——Linux环境

1.4.1安装命令

#记得去掉

# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar -xzvf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make

执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli

1.4.2启动redis

# cd src
# ./redis-server

注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。

1.4.3进入redis客户端

启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:

# cd src
# ./redis-cli
redis> set a bb
OK
redis> get a
"bb"

1.5配置修改

可以通过redis.conf文件修改配置

配置项说明
daemonize noRedis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no )
port 6379指定 Redis 监听端口,默认端口为 6379
bind 127.0.0.1绑定的主机地址
requirepass foobared设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
appendonly no指定是否在每次更新操作后进行日志记录,Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。
#默认端口6379
port 6379
#绑定ip,如果是内网可以直接绑定 127.0.0.1, 或者忽略, 0.0.0.0是外网
bind 0.0.0.0
#守护进程启动
daemonize yes
#密码 abcd123
requirepass abcd123

1.6小结

第一章主要介绍了redis:一种基于内存,高性能的key-value存储数据库,主要有支持多种数据结构(字符串、哈希、列表、集合、有序集合)、内存存储、持久化、缓存;以及redis的windows和linux两个环境下的安装,命令启动演示,进入客户端;以及常用的配置文件修改说明

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

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

相关文章

MyBatis 学习(七)之 缓存

目录 1 MyBatis 缓存介绍 2 一级缓存 3 二级缓存 3.1 二级缓存介绍 3.2 二级缓存配置 3.3 二级缓存测试 4 参考文档 1 MyBatis 缓存介绍 MyBatis 缓存是 MyBatis 中的一个重要特性,用于提高数据库查询的性能。MyBatis 提供了一级缓存和二级缓存两种类型的缓存…

Git与GitHub:解锁版本控制的魔法盒子

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

cetos7 Docker 安装 gitlab

一、gitlab 简单介绍和安装要求 官方文档:https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介绍 gitLab 是一个用于代码仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的Web服务平台,通过该平…

(六)Dropout抑制过拟合与超参数的选择--九五小庞

过拟合 即模型在训练集上表现的很好,但是在测试集上效果却很差。也就是说,在已知的数据集合中非常好,再添加一些新数据进来效果就会差很多 欠拟合 即模型在训练集上表现的效果差,没有充分利用数据,预测准确率很低&a…

笨办法学 Python3 第五版(预览)(一)

原文:Learn Python the Hard Way, 5th Edition (Early Release) 译者:飞龙 协议:CC BY-NC-SA 4.0 模块 1:Python 入门 练习 0:准备工作 这个练习没有代码。这只是你完成的练习,让你的计算机运行 Python。…

Unity 游戏设计模式:单例模式

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 单例模式 在 C# 游戏设计中,单例模式是一种常见的设计模式,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。单例模式在游戏开发中具有以下几个作用&#xf…

Matlab 机器人工具箱 Link类

文章目录 1 Link类1.1 机械臂Link类1.2 构造函数1.3 信息/显示方法1.4 转换方法1.5 操作方法1.6 测试方法1.7 重载操作1.8 属性(读/写)1.9 例子2 Link.Link2.1 创建机器人连杆对象2.2 OPTIONS2.3 注意2.4 旧语法2.5 例子3 Link的其他函数3.1 Link.A3.2 Link.char3.3 Link.displ…

unity学习(44)——选择角色菜单——顺利收到服务器的数据

本节的思路参考自,内容并不相同:13ARPG网络游戏编程实践(十三):角色选择UI及创建面板制作(四)_哔哩哔哩_bilibili 现在的代码写在MessageManager.cs中,函数名UserHandler(是从OnMess…

Revit-二开之创建墙-(6)

Revit API窗间墙 protected override Result OnExecute(ExternalCommandData commandData, ref string message, ElementSet elements) {try{// 获取当前活动的文档

你是否知道Python的列表翻转、排序和多维列表

1.reverse() 表示翻转列表中的元素,不会生成新列表 list1 [2343, 55, 4, 345, 676, 768] list1.reverse() print(list1) # [768, 676, 345, 4, 55, 2343] 2.sort() 对原列表元素进行排序,默认是升序 list1 [2343, 55, 4, 345, 676, 768] list1…

腾讯云幻兽帕鲁服务器在Linux和Windows操作系统上的安全性对比如何?哪个更加安全?

腾讯云幻兽帕鲁服务器在Linux和Windows操作系统上的安全性对比如何? Linux因其资源利用率高、稳定性和安全性较强而受到许多专业用户的青睐。这表明在Linux操作系统上,腾讯云可能会更倾向于提供高安全性的服务环境。然而,并没有直接比较Linu…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的夜视行人检测系统(Python+PySide6界面+训练代码)

摘要:开发高效的夜视行人检测系统对于提升夜间安全和监控效能至关重要。本篇博客详尽介绍了如何利用深度学习技术搭建一个夜视行人检测系统,并提供了完整的实现代码。本系统采用了先进的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5进行了性能比较…

嵌入式Linux中GPIO设置的一些基本指令和步骤

一、GPIO的介绍 嵌入式Linux中的GPIO(General Purpose Input/Output,通用输入/输出)是一种常用的接口,允许开发者直接控制硬件设备的某些引脚,进行诸如LED控制、传感器读取、设备状态监测等任务。 二、设置步骤和示例…

第四十四天| 卡尔网 52. 携带研究材料、518. 零钱兑换 II、377. 组合总和 Ⅳ

01背包问题卡尔网 52. 携带研究材料 题目链接:52 携带研究材料 题干:小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括…

centos7安装夜莺

一、前期准备 1.1.关闭防火墙,SELINUX systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config查看状态 systemctl status firewalld systemctl sta…

Vue开发实例(三)项目引入Element-UI

项目引入Element-UI 一、引入Element-UI二、注册组件1、vue2使用element-ui2、vue3使用element-ui 三、使用Element组件1、轻微改造2、验证element是否生效 一、引入Element-UI npm i element-ui --save npm install element-ui -S等待安装完成 二、注册组件 1、vue2使用ele…

【Leetcode每日一题】前缀和(难度⭐)(25)

1. 题目解析 题目链接:DP34 【模板】前缀和 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于计算题目所给区间数组元素和返回即可。 2. 算法原理 为了提高计算效率,我们可以预先计算出一个「前缀…

在github的README.md中插入视频;在github的README.md中添加gif演示动画

最近需要再github中上传项目的源代码,应导师的要求,需要再README中加入对实验视频的展示,但是github的README.md其实就是一个markdown文件,据我的理解这个文件里应该无法直接插入视频吧?(如果后续有办法直接…

UE4c++ ConvertActorsToStaticMesh ConvertProceduralMeshToStaticMesh

UE4c ConvertActorsToStaticMesh 创建Edior模块(最好是放Editor模块毕竟是编辑器代码)创建蓝图函数UBlueprintFunctionLibraryUTestFunctionLibrary.hUTestFunctionLibrary.cpp:.Build.cs 目标:为了大量生成模型,我们把虚幻带有的方法迁移成函…

leetcode 热题 100_三数之和

题解一: 双指针遍历:暴力解法的三层遍历会超时,因此需要优化遍历的过程。首先是需要对结果进行去重,这里采用排序跳过重复值的做法,在指针遍历时跳过已经遍历过的相同值。在第一层循环确定第一个值后,剩下两…