目录
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值中,这样就省得再输路径了。(配置环境变量)
- 找到Path点击编辑
- 直接放绝对路径就行(注意事项,自己配置的绝对路径必须移动到最上面,不然可能不生效)
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