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服务器的连接Multiplexer
        ConnectionMultiplexer 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值