Windows版本下Redis安装与使用---详解

目录

1、下载Redis压缩包

2、解压到文件夹

3、启动Redis服务

4、打开Redis客户端进行连接

5、使用一些基础操作来测试

6、Redis常用的服务指令

7、C#项目使用redis

8、C#中使用StackExchange.Redis库操作Redis

9、执行 Redis 命令

10、常见报错和相关指令


1、下载Redis压缩包

这里我在GitHub中下载window用的 5.0 版本Redis-x64-5.0.14.1.zip。(可能得翻墙)

Releases · tporadowski/redis · GitHub

2、解压到文件夹

将下载的压缩包解压到指定的文件夹中,如:D:\Redis,内容如下:(你不一定是这个目录,只要出现这个页面中内容即可)

3、启动Redis服务


1.直接在Redis目录路径处输入cmd回车可以进入命令窗口,然后执行命令来启动服务

2.也可以打开cmd使用 cd 命令切换到redis所在的目录(先切到D盘,再切到指定目录下):    

可以打开cmd切换到redis所在的根目录:D:

使用 cd 命令切换到redis所在的目录:   cd D:\ProgramFiles\Redis\Redis-x64-5.0.14.

cd 切换目录命令示例:
 
例:C:          切换到C盘
 
例:D:          切换到D盘
 
例:cd D:\ProgramFiles\Redis\Redis-x64-5.0.14.1    进入指定目录下
 
例:cd..         返回上级目录

随后使用redis-server.exe redis.windows.conf命令来启动redis服务:

默认端口为6379,出现图上的图标说明redis服务启动成功。命令里面的 redis.windows.conf 可以省略,省略后,使用redis-server.exe命令会使用默认的配置。

为了方便,建议把Redis路径配置到系统变量Path值中,这样就省得再输路径了。(配置环境变量)

  1. 找到Path点击编辑
  2. 直接放绝对路径就行(注意事项,自己配置的绝对路径必须移动到最上面,不然可能不生效)

4、打开Redis客户端进行连接

我们使用redis-cli.exe命令来打开Redis客户端:(可以另外开一个cmd窗口)

redis-cli.exe -h 127.0.0.1 -p 6379

 

在命令中输入ping命令来检测redis服务器与redis客户端的连通性,返回PONG则说明连接成功了。

如果出现连接不成功,注意服务打开以后,另启一个 cmd 窗口到Redis所在的目录执行命令,原来的Redis启动窗口不要关闭,不然就无法访问服务端了。

如果连接成功,到此Redis的安装和部署也就完成了。

5、使用一些基础操作来测试

下面我们可以来进行一些基础操作来进行测试

Redis默认拥有16个数据库,初始默认使用0号库,在命令行中通过select命令将数据库切换到8号数据库:select 8

在命令中通过set命令设置键值,通过get命令取出键值:

在命令中通过shutdown命令来关闭redis服务:

在Redis服务启动的cmd窗口中会出现服务关闭的提醒,如下图:

6、Redis常用的服务指令


卸载服务:redis-server --service-uninstall

开启服务:redis-server --service-start

停止服务:redis-server --service-stop

---------------------------------------------------------------------------------------------------------------------------------

1.安装redis之后:
首次启动redis:在命令行窗口中输入 redis-server redis.windows.conf 启动redis(重新修改配置文件后,需要用此指令启动)

2.之后每天启动redis:(好像每天会开机自启redis,又或是只要没停止服务就一直开着)

开启redis服务:redis-server --service-start

停止redis服务:redis-server --service-stop

关闭redis:(关闭命令行窗口就是关闭 redis--不确定)


3.redis作为windows服务启动方式---(服务端)
受此安装启动:redis-server --service-install redis.windows.conf
启动服务:redis-server --service-start
停止服务:redis-server --service-stop

查看端口:netstat -ano | findstr :6379

4.redis客户端

启动服务端连接(redis未设置密码): redis-cli.exe

启动服务端连接(redis设置密码):  redis-cli -a Nengyy$123

基础指令:

         set key1 hello1   ---添加key value键值对

         get key1             ---通过key获取value值

         select 8             ---redis:默认拥有16个数据库,初始默认使用0号库,在命令行中通过select命令将数据库切换到8号数据库

例子:

7、C#项目使用redis

在C#中使用Redis库通常需要依赖StackExchange.Redis库

using System;
using StackExchange.Redis;class Program
{static void Main(){// 创建连接到Redis服务器的连接MultiplexerConnectionMultiplexer redis = ConnectionMultiplexer.Connect("your_redis_server_address");// 获取数据库IDatabase db = redis.GetDatabase();// 存储数据db.StringSet("myKey", "Hello, Redis!");// 读取数据string value = db.StringGet("myKey");Console.WriteLine($"Value retrieved from Redis: {value}");// 示例:存储哈希表HashEntry[] hashEntries = { new HashEntry("field1", "value1"), new HashEntry("field2", "value2") };db.HashSet("myHash", hashEntries);// 示例:读取哈希表HashEntry[] retrievedHashEntries = db.HashGetAll("myHash");foreach (var entry in retrievedHashEntries){Console.WriteLine($"Field: {entry.Name}, Value: {entry.Value}");}}
}

8、C#中使用StackExchange.Redis库操作Redis

--字符串 (String)
IDatabase db = redis.GetDatabase();// 存储字符串
db.StringSet("myKey", "Hello, Redis!");// 读取字符串
string value = db.StringGet("myKey");--哈希表 (Hash)
IDatabase db = redis.GetDatabase();// 存储哈希表
HashEntry[] hashEntries = { new HashEntry("field1", "value1"), new HashEntry("field2", "value2") };
db.HashSet("myHash", hashEntries);// 读取哈希表
HashEntry[] retrievedHashEntries = db.HashGetAll("myHash");--列表 (List)
IDatabase db = redis.GetDatabase();// 存储列表
db.ListRightPush("myList", "item1");
db.ListRightPush("myList", "item2");// 读取列表
string listItem = db.ListLeftPop("myList");--集合 (Set)
IDatabase db = redis.GetDatabase();// 存储集合
db.SetAdd("mySet", "member1");
db.SetAdd("mySet", "member2");// 读取集合
bool isMember = db.SetContains("mySet", "member1");--有序集合 (Sorted Set)
IDatabase db = redis.GetDatabase();// 存储有序集合
db.SortedSetAdd("mySortedSet", "member1", 10.0);
db.SortedSetAdd("mySortedSet", "member2", 5.0);// 读取有序集合
var sortedSetRange = db.SortedSetRangeByScore("mySortedSet", double.MinValue, double.MaxValue);

9、执行 Redis 命令

在C#中使用StackExchange.Redis库执行Redis命令,你可以通过IDatabase对象调用相应的方法。以下是一些基本的Redis命令执行示例:

--执行 SET 命令
IDatabase db = redis.GetDatabase();
db.StringSet("myKey", "Hello, Redis!");--执行 GET 命令
IDatabase db = redis.GetDatabase();
string value = db.StringGet("myKey");--执行 HSET 和 HGET 命令
IDatabase db = redis.GetDatabase();
db.HashSet("myHash", "field1", "value1");
string hashValue = db.HashGet("myHash", "field1");--执行 LPUSH 和 LRANGE 命令
IDatabase db = redis.GetDatabase();
db.ListLeftPush("myList", "item1");
db.ListLeftPush("myList", "item2");
var listValues = db.ListRange("myList");--执行 SADD 和 SMEMBERS 命令
IDatabase db = redis.GetDatabase();
db.SetAdd("mySet", "member1");
db.SetAdd("mySet", "member2");
var setMembers = db.SetMembers("mySet");--执行 ZADD 和 ZRANGE 命令
IDatabase db = redis.GetDatabase();
db.SortedSetAdd("mySortedSet", "member1", 10.0);
db.SortedSetAdd("mySortedSet", "member2", 5.0);
var sortedSetRange = db.SortedSetRangeByScore("mySortedSet", double.MinValue, double.MaxValue);

10、常见报错和相关指令

6379端口被占用,导致redis无法正常启动

9、cmd指令查看关闭端口进程
1.利用 netstat -ano | findstr :6379 指令查看谁占用6379端口

(查看此端口是否被占用):netstat -ano | findstr :6379

2.查看该进程的详细信息:  tasklist /FI "PID eq 77416"
(该命令将显示 PID 为 77416 的进程的详细信息,包括进程名称、路径、状态等。根据这些信息,您可以确定哪个软件占用了 8888 端口。)

3.杀死占用端口的进程

(注意事项:文件目录下打开cmd进入时会缺少管理员权限 ,建议先用管理员权限打开cmd指令框,再cd到指定目录下)

taskkill /f /pid 30020

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

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

相关文章

C语言——文件操作

目录 文件是什么 程序文件 数据文件 二进制文件和文本文件 文件名 文件的作用 文件的打开和关闭 流和标准流 流 标准流 文件指针 文件打开和关闭 打开文件:fopen 关闭文件:fclose 测试代码 文件具体操作 顺序读写 fputc ​编辑 fget…

【有啥问啥】 Self-Play技术:强化学习中的自我进化之道

Self-Play技术:强化学习中的自我进化之道 在人工智能的快速发展中,强化学习(Reinforcement Learning, RL)已成为推动智能体自主学习与优化的关键力量。Self-Play技术,作为强化学习领域的一项前沿创新,通过…

【智能大数据分析 | 实验一】MapReduce实验:单词计数

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…

git学习报告

文章目录 git学习报告如何配置vscode终端安装PowerShell安装 Microsoft.Powershell.Preview使用 git的使用关于团队合作 git指令本地命令:云端指令 git学习报告 如何配置vscode 安装powershell调教window终端,使其像Linux一样,通过Linux命令…

现代桌面UI框架科普及WPF入门1

现代桌面UI框架科普及WPF入门 文章目录 现代桌面UI框架科普及WPF入门桌面应用程序框架介绍过时的UI框架MFC (Microsoft Foundation Class)缺点 经典的UI框架**WinForms****QT****WPF** 未来的UI框架**MAUI****AvaloniaUI** WPF相对于Winform,QT,MFC的独立…

SysML图例-病毒检测设备

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> SysML图中词汇 SiNW-FET Silicon nanowire field-effect transistors,硅纳米线-场效应晶体管 更多信息可参见: 用于新冠检测的场效应晶体管生物传…

将CSS OKLCH颜色转换为十六进制HEX颜色和十六进制整数格式

我查找了全网都查不到OKLCH()方法是颜色转换方法,那今天小编就给大家分享我的方法,可能会有点点误差,但是大体不影响。 程序员必备宝典https://tmxkj.top/#/示例:oklch(0.253267 0.015896 252.418) 得到H…

YOLOv10改进,YOLOv10主干网络替换为VanillaNet( CVPR 2023 华为提出的全新轻量化架构),大幅度涨点

摘要 基础模型的核心理念是“更多即不同”,这一理念在计算机视觉和自然语言处理领域取得了惊人的成功。然而,变压器模型的优化挑战和固有复杂性呼唤一种向简化转变的范式。在本研究中,引入了 VanillaNet,一种拥抱设计优雅的神经网络架构。通过避免高深度、快捷方式和复杂操…

多级目录SQL分层查询

需求&#xff1a;有多级目录&#xff0c;而目录的层级是不固定的&#xff0c;如下图所示&#xff1a; 数据结构&#xff1a; sql语句&#xff1a; <select id"getList" resultType"com.hikvision.idatafusion.dhidata.bean.vo.knowledgebase.KnowledgeBaseT…

瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法

本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;搭载了瑞芯微RK3566芯片&#xff0c;类树莓派设计&#xff0c;是Laval官方社区主荐的一款鸿蒙开发主板。 一、安装输入法并查看输入…

Fyne ( go跨平台GUI )中文文档-Fyne总览(二)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2​​​​​​​ 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne…

大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

BERT训练环节(代码实现)

1.代码实现 #导包 import torch from torch import nn import dltools #加载数据需要用到的声明变量 batch_size, max_len 1, 64 #获取训练数据迭代器、词汇表 train_iter, vocab dltools.load_data_wiki(batch_size, max_len) #其余都是二维数组 #tokens, segments, vali…

OceanBase 3.X 高可用 (一)

OceanBase 3.X 高可用&#xff08;一&#xff09; 一、分布式核心 OceanBase 3.x 采用的是paxos 协议&#xff0c;与raft协议相比。其复杂程度高&#xff0c;实现技术难度大。 Paxos 协议允许事务日志乱序发送&#xff0c;顺序提交。raft允许事务顺序发送&#xff0c;顺序提…

关于 NLP 应用方向与深度训练的核心流程

文章目录 主流应用方向核心流程&#xff08;5步&#xff09;1.选定语言模型结构2.收集标注数据3.forward 正向传播4.backward 反向传播5.使用模型预测真实场景 主流应用方向 文本分类文本匹配序列标注生成式任务 核心流程&#xff08;5步&#xff09; 基本流程实现的先后顺序…

聊聊Thread Local Storage

聊聊ThreadLocal 为什么需要Thread Local StorageThread Local Storage的实现PThread库实现操作系统实现GCC __thread关键字实现C11 thread_local实现JAVA ThreadLocal实现 Thread Local Storage 线程局部存储&#xff0c;简称TLS。 为什么需要Thread Local Storage 变量分为全…

MySQL程序

目录 MySQL程序 常用的MySQL的程序 mysqld程序 mysql客户端 客户端命令的常用的选项 配置文件 配置文件语法 MySQL客户端命令 ​编辑 .sql 文件中执行SQL语句 mysqlcheck &#xff08;表维护程序&#xff09; Mysqldump&#xff08;数据库备份程序&#xff09; mysql…

[数据集][目标检测]基于yolov5增强数据集算法mosaic来扩充自己的数据集自动生成增强图片和对应标注无需重新标注

【算法介绍】 YOLOv5最引人注目的增强技术之一是马赛克增强&#xff0c;它将四张不同的图像拼接成一张图像。 思路&#xff1a;首先&#xff0c;从数据集中随机选择四张图像&#xff0c;然后将它们缩放、随机裁剪&#xff0c;并按马赛克模式拼接在一起。这种方式允许模型看到…

10. 排序

一、排序的概念及引用 1. 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录…

无人机之编程基础原理

无人机编程基础原理涉及多个方面&#xff0c;主要包括无人机的基本原理、飞行控制算法、编程语言及算法应用等。以下是对这些方面的详细阐述&#xff1a; 一、无人机基本原理 无人机的基本原理是理解其结构、飞行原理、传感器和控制系统等的基础。无人机通常由机身、动力系统&…