windows redis配置使用
2021-10-13 11:26 kakaxi007 阅读(477) 评论(0) 收藏 举报1.下载安装包:https://github.com/tporadowski/redis/releases。
2.安装包下载后根据操作系统选择对应版本文件,里面会有几个dll分别为:
redis-server.exe:服务程序
redis-check-dump.exe:本地数据库检查
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询.
redis-cli.exe: 服务端开启后,我们的客户端就可以输入各种命令测试了
3.cmd进入redis目录,运行redis-server.exe redis.windows.conf。出现以下界面就是服务启动完成

4.我的redis目录是在D:/redis
在redis目录中找到redis客户端文件redis-cli.exe,双击运行。
set key001 woderedis
get key001
这样就实现了redis缓存的使用

5.C#使用redis
51.首先项目配置文件引入redis服务连接
<connectionStrings>
<!--redis 连接 有密码-->
<add name="RedisConnectionString" connectionString="127.0.0.1:6379,password=123456"/>
<!--redis 连接 没有密码-->
<add name="RedisConnectionString" connectionString="127.0.0.1:6379"/>
</connectionStrings>
52.C#设计一个redis类,首先在项目中打开“Nuget管理程序包”-搜索StackExchange.Redis并安装推荐版本,工具类代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using StackExchange.Redis;
namespace Common
{
/// <summary>
/// Redis 操作类
/// </summary>
public class RedisHelper
{
/// <summary>
/// 连接字符串
/// </summary>
private static readonly string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["RedisConnectionString"].ConnectionString;
/// <summary>
/// 锁
/// </summary>
private readonly object _lock = new object();
/// <summary>
/// 连接对象
/// </summary>
private volatile IConnectionMultiplexer _connection;
/// <summary>
/// 数据库
/// </summary>
private IDatabase _db;
public RedisHelper()
{
_connection = ConnectionMultiplexer.Connect(ConnectionString);
_db = GetDatabase();
}
/// <summary>
/// 获取连接
/// </summary>
/// <returns></returns>
protected IConnectionMultiplexer GetConnection()
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
lock (_lock)
{
if (_connection != null && _connection.IsConnected)
{
return _connection;
}
if (_connection != null)
{
_connection.Dispose();
}
_connection = ConnectionMultiplexer.Connect(ConnectionString);
}
return _connection;
}
/// <summary>
/// 获取数据库
/// </summary>
/// <param name="db"></param>
/// <returns></returns>
public IDatabase GetDatabase(int? db = null)
{
return GetConnection().GetDatabase(db ?? -1);
}
/// <summary>
/// 设置
/// </summary>
/// <param name="key">键</param>
/// <param name="data">值</param>
/// <param name="cacheTime">时间</param>
public virtual void Set(string key, object data, int cacheTime)
{
if (data == null)
{
return;
}
var entryBytes = Serialize(data);
var expiresIn = TimeSpan.FromMinutes(cacheTime);
_db.StringSet(key, entryBytes, expiresIn);
}
/// <summary>
/// 根据键获取值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public virtual T Get<T>(string key)
{
var rValue = _db.StringGet(key);
if (!rValue.HasValue)
{
return default(T);
}
var result = Deserialize<T>(rValue);
return result;
}
/// <summary>
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="serializedObject"></param>
/// <returns></returns>
protected virtual T Deserialize<T>(byte[] serializedObject)
{
if (serializedObject == null)
{
return default(T);
}
var json = System.Text.Encoding.UTF8.GetString(serializedObject);
return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(json);
}
/// <summary>
/// 判断是否已经设置
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public virtual bool IsSet(string key)
{
return _db.KeyExists(key);
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="data"></param>
/// <returns>byte[]</returns>
private byte[] Serialize(object data)
{
var json = Newtonsoft.Json.JsonConvert.SerializeObject(data);
return System.Text.Encoding.UTF8.GetBytes(json);
}
}
}
53.使用redis类
protected void Page_Load(object sender, EventArgs e)
{
var redis2 = new Common.RedisHelper();
string keyName = "key002";
//设置
redis2.Set(keyName, "woshiredis_key001", 10);
//获取 解析
object re = redis2.Get<object>(keyName);
}
6.修改端口
找到配置文件redis.windows.conf
搜索port 6379,修改成你想要的端口即可,如果开启防火墙,记得让这个端口通过
7.设置局域网访问
配置文件搜索bind 127.0.0.1,修改成bind 127.0.0.1 192.168.1.111
这里的192.168.1.111是redis服务器ip
8.设置密码
配置文件搜索requirepass,在下面另起一行写入requirepass 123456
9.把redis设置成系统服务(特别注意:这里运行的时候使用的配置文件是 redis.windows-service.conf ,不是 redis.windows.conf )
cmd进入redis目录,输入
redis-server --service-install redis.windows-service.conf --loglevel verbose
,然后win+r打开运行窗口,输入services.msc查看
这样,你的Redis服务就创建好了。

10.避免redis占用太多内存:
在配置文件中搜索关键词并设置或修改对应的值:
maxmemory 1g
maxmemory-policy allkeys-lru
appendonly yes
11.redis服务自动停止
设置配置文件stop-writes-on-bgsave-error no,不能因为写错误使用服务停止
12.
浙公网安备 33010602011771号