【11】Redis学习笔记 (微软windows版本)【Redis】

news/2024/4/29 17:13:02/文章来源:https://blog.csdn.net/qq_53478650/article/details/132115210

注意:官redis方不支持windows版本 只支持linux 

此笔记是依托微软开发windows版本学习 

一、前言

Redis简介:

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它也被称为数据结构服务器。Redis以键值对(key-value)的形式存储数据,并支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。它由Salvatore Sanfilippo开发,并于2009年首次发布。

键值数据库:

键(key)的限制:

  1. 长度限制:键的最大长度为512MB。
  2. 数据类型:键必须是字符串类型,其他数据类型(如哈希表、列表等)不可以作为键。
  3. 命名规则:键可以包含任意的二进制数据,但通常推荐使用简短、易于理解的字符串来作为键名。

值(value)的限制:

  1. 长度限制:值的最大长度也为512MB。
  2. 数据类型:Redis支持多种数据类型,因此值可以是字符串、哈希表、列表、集合、有序集合等数据类型。
  3. 数据格式:字符串值可以包含任意的二进制数据,而其他数据类型的值必须按照相应的数据结构格式进行存储。

 Redis学习图文资料:

图解Redis介绍 | 小林coding (xiaolincoding.com)

二、学习Redis

1、Redis入门

(1)认识NoSQL

NoSQL(Not Only SQL)是一类非关系型数据库管理系统的统称,它与传统的关系型数据库(如MySQL、Oracle等)不同,主要是在数据模型和数据存储方式上有所区别。NoSQL数据库的设计目标是解决关系型数据库在某些场景下的不足,特别是在大规模分布式系统和海量数据处理方面的挑战。

NoSQL数据库的一些主要特点和介绍:

  1. 非关系型数据模型:NoSQL数据库通常采用非关系型的数据模型,不需要遵循传统的表格和关系约束。这使得数据可以以更灵活的方式存储,适用于处理半结构化、非结构化或者复杂数据。

  2. 水平扩展性:NoSQL数据库通常具备良好的水平扩展性,可以在多台服务器上分布数据,实现更好的负载均衡和横向扩展,适用于处理大规模的数据和高并发请求。

  3. 高性能:由于NoSQL数据库的设计更加注重性能和可伸缩性,它们在某些场景下可以提供更高的读写性能,特别是对于大量的并发读取操作。

  4. 灵活的数据模型:NoSQL数据库支持多种数据结构和数据模型,例如键值存储(Key-Value)、文档数据库(Document)、列族存储(Column-Family)和图数据库(Graph)。这些不同的数据模型可以更好地适应不同类型的数据和应用需求。

  5. 一致性模型:在一些NoSQL数据库中,为了实现更好的性能和可用性,可能会放松传统数据库中的ACID事务特性,而采用基于最终一致性(Eventual Consistency)的模型。

  6. 分布式架构:许多NoSQL数据库是为了在分布式环境中运行而设计的,因此它们通常具备在多节点上复制和同步数据的功能,以保证数据的可靠性和高可用性。

存储格式

1、键值型:Redis

2、文档型:MongoDB

3、图:

(2)认知Redis

特征:

1、键值型,value支持多种不同结构,功能丰富

2、单线程,每个命令具备原子性

3、低延迟,速度快(基于内存、IO多路服用、良好的编码)

4、支持数据持久化

5、支持主从集群、分片集群

6、支持多语言客户端

(3)安装Redis

官方不支持windows版本 只支持linux

这里就不用linux 选择微软开发的windows版本 注意是64位的

Releases · microsoftarchive/redis (github.com)

下载安装包并解压

进入 解压后的目录 进入cmd

输入启动服务的命令

redis-server.exe redis.windows.conf

 

这种方式为前台启动的方式 (窗口运行,服务运行,窗口关闭,服务关闭)

此时链接redis服务则需要另外启动一个cmd 窗口输入命令

redis-cli

 

我们怎么样让这个服务一直运行 我们需要将这个进程添加到windows服务里

redis-server --service-install redis.windows.conf

 进入服务

 我们可以查看到添加成功

 点击右键启动 这个时候就可以关闭redis的cmd服务运行窗口了

 

(4)Redis配置

找到redis.windows.conf配置文件 并且打开编辑

 

 

1、登录监听的地址
bind (127.0.0.1是只允许本地访问) (0.0.0.0为任意都允许访问)2、守护进程
daemonize yes (设置为yes后即可后台运行)3、密码
requirepass "你的密码" (设置后访问redis必须输入密码,注意windows服务也要配置密码)4、监听端口
port 63795、工作目录
dir . (默认为当前目录)6、设置redis最大能使用内存
maxmemory 512mb7、数据库的数量
databases 1 (redis数据库是提前创建好的,只能控制数量)8、日志文件,默认为空,不记录日志,key制定日志文件名
logfile "redis.log"

 在Windows上,不支持daemonize和pidfile。# 但是,您可以将redis作为Windows服务运行,并指定日志文件。#日志文件将包含pid。 

我这里只更改两项 用于学习测试

1、设置日志文件

2、更改bind为0.0.0.0 

 

 注意更改后保存

待更新

2023年8月15日18:21:37 
 

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

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

相关文章

UNIAPP中开发企业微信小程序

概述 需求为使用uni-app开发企业微信小程序。希望可以借助现成的uni-app框架,快速开发。遇到的问题是uni-app引入jweixin-1.2.0.js提示异常: Reason: TypeError: Cannot read properties of undefined (reading ‘title’)。本文中描述了如何解决该问题&#xff0c…

UCLA发布SciBench,评估大语言模型的科学问题解决能力

©PaperWeekly 原创 作者 | Xiaoxuan Wang 单位 | UCLA 研究方向 | 大语言模型评测 论文题目: SciBench: Evaluating College-Level Scientific Problem-Solving Abilities of Large Language Models 论文链接: https://arxiv.org/abs/2307.10635 代…

mysql 8.0.20不停机主从同步

一、环境 CentOS : 7.3.1611 (Core) mysql:8.0.20 二、遇到的问题 1.查看主从同步发现下列问题 error connecting to master repl192.168.0.21:3306 - retry-time: 60 retries: 4 message: Authentication plugin caching_sha2_password reported e…

springboot多模块打包方式

明确子父模块结构 父目录是带modules 大致结构如下&#xff1a; <modules><module>ruoyi-admin</module><module>ruoyi-framework</module><module>ruoyi-system</module><module>ruoyi-quartz</module><module>…

【C++从0到王者】第二十一站:继承

文章目录 前言一、继承的概念及定义1. 继承的概念2.继承的格式3.继承关系与访问限定符 二、基类和派生类的赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员 前言 继承是面向对象的三大特性之一。我们常常会遇到这样的情况。很多角色的信…

MYSQL 作业三

创建一个student表格&#xff1a; create table student( id int(10) not null unique primary key, name varchar(20) not null, sex varchar(4), birth year, department varchar(20), address varchar(50) ); 创建一个score表格 create table score( id int(10) n…

ASP.NET WEB API通过SugarSql连接MySQL数据库

注意&#xff1a;VS2022企业版可以&#xff0c;社区版可能存在问题。实体名称和字段和数据库中的要一致。 1、创建项目&#xff0c;安装SqlSugarCore、Pomelo.EntityFrameworkCore.MySql插件 2、文件结构 2、appsettings.json { “Logging”: { “LogLevel”: { “Default”: …

从零实现kv存储V2.0

在V1.0版本&#xff0c;我们实现了基于array的kv存储引擎。本文继续完善&#xff0c;增加rbtree、hash、skiptable引擎。 实际上&#xff0c;在框架确定的基础上&#xff0c;其他的引擎只需要添加接口即可。 一、架构设计 二、具体实现 2.1 引擎层 //---------------------…

每天一道leetcode:646. 最长数对链(动态规划中等)

今日份题目&#xff1a; 给你一个由 n 个数对组成的数对数组 pairs &#xff0c;其中 pairs[i] [lefti, righti] 且 lefti < righti 。 现在&#xff0c;我们定义一种 跟随 关系&#xff0c;当且仅当 b < c 时&#xff0c;数对 p2 [c, d] 才可以跟在 p1 [a, b] 后面…

WSL2 Ubuntu子系统安装OpenCV

文章目录 前言一、&#xfeff;基本概念二、操作步骤1.下载源码2.安装依赖3.运行编译4.配置路径 前言 OpenCV用C语言编写&#xff0c;它的主要接口也是C语言&#xff0c;但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语…

最长递增子序列——力扣300

int lengthOfLIS(vector<int>& nums) {int len=1, n=nums.size();if

临床试验三原则-对照、重复、随机

临床试验必须遵循三个基本原则&#xff1a;对照、重复、随机。 一、对照原则和对照的设置 核心观点&#xff1a;有比较才有鉴别。 对照组和试验组同质可比。 三臂试验 安慰剂&#xff1a;试验组&#xff1a;阳性对照组1&#xff1a;n&#xff1a;m&#xff08;n≥m&#xff…

Android Framework 动态更新插拔设备节点执行权限

TF卡设备节点是插上之后动态添加&#xff0c;所以不能通过初始化设备节点权限来解决&#xff0c;需要监听TF插入事件&#xff0c;在init.rc 监听插入后动态更新设备节点执行权限 添加插拔TF卡监听 frameworks/base/services/core/java/com/android/server/StorageManagerServic…

轻量级自动化测试框架WebZ

一、什么是WebZ WebZ是我用Python写的“关键字驱动”的自动化测试框架&#xff0c;基于WebDriver。 设计该框架的初衷是&#xff1a;用自动化测试让测试人员从一些简单却重复的测试中解放出来。之所以用“关键字驱动”模式是因为我觉得这样能让测试人员&#xff08;测试执行人员…

《Java-SE-第三十八章》之注解

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水平很有限&…

Hlang社区项目说明

文章目录 前言Hlang社区技术前端后端 前言 Hello,欢迎来到本专栏&#xff0c;那么这也是第一次做这种类型的专栏&#xff0c;如有不做多多指教。那么在这里我要隆重介绍的就是这个Hlang这个项目。 首先&#xff0c;这里我要说明的是&#xff0c;我们的这个项目其实是分为两个…

Docker容器:docker基础概述、安装、网络及资源控制

文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…

Python语法基础——循环

学习目标 通过使用while循环编写重复执行的语句。遵从循环的设计策略开发循环。利用用户的确认控制循环。用哨兵值控制循环。通过使用输入重定向从文件获取大量数据而不是从键盘输入来来获取大量数据&#xff0c;并且使用输出重定向将输出存人文件。使用for循环来实现计数器控制…

vue 发现页面找不到3秒后跳转到本页面

这个路由跳转用到的是编程式跳转this.$router.push 两种写法&#xff1a; 第一种可以通过path来跳转 goto(/find) find是路由里边的路径 <span click"goto(/find)">发现音乐</span> <span click"goto(/my)">我的音乐</span> <…

单片机如何分散加载文件

本篇文章将通过实际操作介绍如何实现分散加载文件的方法。开发工具为&#xff1a;mdk&#xff1b;开发板&#xff1a;野火stm32f407 一、建立工程 通过实现简单的加法计算的软件算法&#xff0c;来了解分散加载image 的方法。 建立工程&#xff0c;创建文件夹以及相应的文件&am…