【11】Redis学习笔记 (微软windows版本)【Redis】
注意:官redis方不支持windows版本 只支持linux
此笔记是依托微软开发windows版本学习
一、前言
Redis简介:
Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它也被称为数据结构服务器。Redis以键值对(key-value)的形式存储数据,并支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。它由Salvatore Sanfilippo开发,并于2009年首次发布。
键值数据库:
键(key)的限制:
- 长度限制:键的最大长度为512MB。
- 数据类型:键必须是字符串类型,其他数据类型(如哈希表、列表等)不可以作为键。
- 命名规则:键可以包含任意的二进制数据,但通常推荐使用简短、易于理解的字符串来作为键名。
值(value)的限制:
- 长度限制:值的最大长度也为512MB。
- 数据类型:Redis支持多种数据类型,因此值可以是字符串、哈希表、列表、集合、有序集合等数据类型。
- 数据格式:字符串值可以包含任意的二进制数据,而其他数据类型的值必须按照相应的数据结构格式进行存储。

Redis学习图文资料:
图解Redis介绍 | 小林coding (xiaolincoding.com)
二、学习Redis
1、Redis入门
(1)认识NoSQL
NoSQL(Not Only SQL)是一类非关系型数据库管理系统的统称,它与传统的关系型数据库(如MySQL、Oracle等)不同,主要是在数据模型和数据存储方式上有所区别。NoSQL数据库的设计目标是解决关系型数据库在某些场景下的不足,特别是在大规模分布式系统和海量数据处理方面的挑战。
NoSQL数据库的一些主要特点和介绍:
-
非关系型数据模型:NoSQL数据库通常采用非关系型的数据模型,不需要遵循传统的表格和关系约束。这使得数据可以以更灵活的方式存储,适用于处理半结构化、非结构化或者复杂数据。
-
水平扩展性:NoSQL数据库通常具备良好的水平扩展性,可以在多台服务器上分布数据,实现更好的负载均衡和横向扩展,适用于处理大规模的数据和高并发请求。
-
高性能:由于NoSQL数据库的设计更加注重性能和可伸缩性,它们在某些场景下可以提供更高的读写性能,特别是对于大量的并发读取操作。
-
灵活的数据模型:NoSQL数据库支持多种数据结构和数据模型,例如键值存储(Key-Value)、文档数据库(Document)、列族存储(Column-Family)和图数据库(Graph)。这些不同的数据模型可以更好地适应不同类型的数据和应用需求。
-
一致性模型:在一些NoSQL数据库中,为了实现更好的性能和可用性,可能会放松传统数据库中的ACID事务特性,而采用基于最终一致性(Eventual Consistency)的模型。
-
分布式架构:许多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
相关文章:
【11】Redis学习笔记 (微软windows版本)【Redis】
注意:官redis方不支持windows版本 只支持linux 此笔记是依托微软开发windows版本学习 一、前言 Redis简介: Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它也被称为数据结构服务器。Redis以键值对&am…...
数据结构刷题训练:用栈实现队列(力扣OJ)
目录 前言 1. 题目:用栈实现队列 2. 思路 3. 分析 3.1 定义 “ 队列 ” 3.2 创建队列 3.3 入队 3.4 队头数据 3.5 出队 3.6 判空和销毁 4.题解 总结 前言 栈和队列是数据结构中的两个重要概念,它们在算法和程序设计中都有着广泛的应用。本文将带你深入了…...
数字化车间mes生产执行管理系统
数字化车间mes是一款基于B/S结构的生产执行管理系统,主要目的是为中小企业提供了高效率、低成本、通用性强的一个MES系统解决方案,能够实时监控当前完成进度。 功能简介: 生产管理 大屏展示:可以从大屏展示页面看到任工序…...
SpringBoot + Mybatis多数据源
一、配置文件 spring: # datasource: # username: root # password: 123456 # url: jdbc:mysql://127.0.0.1:3306/jun01?characterEncodingutf-8&serverTimezoneUTC # driver-class-name: com.mysql.cj.jdbc.Driverdatasource:# 数据源1onedata:jdbc-url: j…...
ad+硬件每日学习十个知识点(35)23.8.15 (接口电路:RS232、RS485、RS422,单线协议UART->TTL)
文章目录 1.RS232的物理层2.RS232的三种连线方式3.DB9和RJ45(网口)线定义4.RS232的电路设计(tx端需要上拉)5.RS232芯片MAX3221的引脚功能6.什么是压摆率?(压摆率越大越好)7.为什么有了RS232之后,还需要RS48…...
sql类型-用户定义表类型
一、创建用户定义表类型String_Table_Type CREATE TYPE String_Table_Type AS TABLE ( Id nvarchar(200) NOT NULL ) GO DECLARE test String_Table_Type INSERT INTO test VALUES(a),(b),(c) SELECT * FROM test 二、SqlSugar中使用...
小程序 vant 项目记录总结 使用 scss 分享 订阅消息 wxs 分包 echarts图表 canvas getCurrentPages页面栈
小程序 vant vant 下载 npm init -ynpm i vant/weapp -S --production修改 app.json 将 app.json 中的 “style”: “v2” 去除 修改 project.config.json {..."setting": {..."packNpmManually": true,"packNpmRelationList": [{"p…...
关于Power Query中一些忽略的细节
Power Query中一些忽略的细节 重新认识Power Query查询的引用----提高数据加载效率透视逆透视----一对“好朋友”神奇的拼接----实现很多意想不到的操作 重新认识Power Query 关于它的定义,这里不再赘述,主要说一些新的理解。 Power Query 可以理解就是一…...
QML与C++交互
目录 1 QML获取C的变量值 2 QML获取C创建的自定义对象 3 QML发送信号绑定C端的槽 4 C端发送信号绑定qml端槽 5 C调用QML端函数 1 QML获取C的变量值 QQmlApplicationEngine engine; 全局对象 上下文属性 QQmlApplicationEngine engine; QQmlContext *context1 engine.…...
Microsoft ISA服务器配置及日志分析
Microsoft ISA 分析器工具,可分析 Microsoft ISA 服务器(或 Forefront 威胁管理网关服务器)的日志并生成安全和流量报告。支持来自 Microsoft ISA 服务器组件的以下日志: 数据包过滤器ISA 服务器防火墙服务ISA 服务器网络代理服务…...
Openlayers 实战 - 地图视野(View)- 图层 -(layer)- 资源(source)显示等级设置。
Openlayers 实战 - 地图视野(View)- 图层 -(layer)- 资源(source)显示等级设置。 问题原因核心代码完整代码:在线示例 在以往的项目维护中,出现一个问题,使用最新高清底图…...
Linux:shell脚本 正则表达式与AWK
一、正则表达式 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件…...
Android UI自动化测试框架—SoloPi简介
1、UI自动化测试简介 软件测试简介 软件测试是伴随着软件开发一同诞生的,随着软件规模大型化,结构复杂化,软件测试也从最初的简单“调试”,发展到当今的自动化测试。 自动化测试是什么呢?自动化测试是把以人为…...
Android Studio Giraffe 正式版下载地址
Android Studio 是 Android 的官方 IDE。它专为 Android 而打造,可以加快您的开发速度,帮助您为每款 Android 设备构建最高品质的应用。 比以往更快地编码和迭代 Android Studio 基于 IntelliJ IDEA 而构建,可以提供较短的编码和运行工作流…...
【C语言】调试技巧
目录 一、什么是bug? 二、调试 1.一般调试的步骤 2.Debug 和 Release 三、调试环境准备 四、调试时要查看的信息 1.查看临时变量的值 2.查看内存信息 3.查看调用堆栈 4.查看反汇编信息 5.查看寄存器 五、练习 六、常见的coding技巧 七、const的作用 八、编程常见…...
MySQL SUBSTRING_INDEX() 函数的详细介绍
MySQL SUBSTRING_INDEX() 从给定字符串中返回指定数量的分隔符出现之前的子字符串。 当指定数字为正数时从最终分隔符的左侧返回子字符串,当指定数字为负数时从最终分隔符的右侧返回子字符串。 如果指定的次数大于分隔符的出现次数,则返回的子字符串将…...
开源数据库Mysql_DBA运维实战 (DML/DQL语句)
DML/DQL DML INSERT 实现数据的 插入 实例: DELETE 实现数据的 删除 实例: UPDATE 实现数据的 更新 实例1: 实例2: 实例3: DQL DML/DQL DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELE…...
【LangChain】Memory
概要 大多数LLM应用都有对话界面。对话的一个重要组成部分是能够引用对话中先前介绍的信息。至少,对话系统应该能够直接访问过去消息的某些窗口。更复杂的系统需要有一个不断更新的世界模型,这使得它能够执行诸如维护有关实体及其关系的信息之类的事情。…...
Java并发编程(六)线程池[Executor体系]
概述 在处理大量任务时,重复利用线程可以提高程序执行效率,因此线程池应运而生。 它是一种重用线程的机制,可以有效降低内存资源消耗提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行线程池可以帮助我们更好地管理线程的生命周期和资源使用,…...
macOS CLion 使用 bits/stdc++.h
macOS 下 CLion 使用 bits/stdc.h 头文件 terminal运行 brew install gccCLion里配置 -D CMAKE_CXX_COMPILER/usr/local/bin/g-11...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
