zoukankan      html  css  js  c++  java
  • .Net平台下C#之Redis-Windows版本与项目的结合使用

    .Net平台下C#之Redis-Windows运行版本


    1、因为目前Redis不支持Windows平台,所以,如果是大型项目,且有资源的最好在Linux平台下部署Redis。
    2、在c#项目中使用Redis服务的话,可以下载微软提供的Redis发行版

    1、下载完毕解压之后,试启动一下,命令窗口不能为PowerShell,否则会出现以下界面;

    2、cd 到Redis当前目录,输入**redis-server.exe redis.windows.conf **启动,成功会出现如下界面。(注:Redis语法特别严格,如果运行有问题,请注意是否有多了空格或其他字符)

    3、然后重新打开一个命令窗口。cd到当前Redis目录下,输入 redis-cli.exe -h 127.0.0.1 -p 6379 命令,连接服务。
    4、添加一个Key Value。

    5、获取一个Key Value值。

    *注意:不要关闭启动Redis服务的命令窗口,否则会断开连接,出现以下问题

    测试成功后,我们来在项目中运用。
    注:因为通过命令行来注册服务,且命令窗口执行完命令后必须关闭,所以只能通过注册windows服务来使用。
    1、将Redis服务注册到本地:redis-server --service-install redis.service-windows.conf,注册成功之后,启动:redis-server --service-start,
    客户端所存入的数据:set a 1;,在服务关闭(redis-server --service-stop)重新打开之后还得以存在,保存在.pdb文件中,(注册为windowserver服务后,只需要第一次启动加载资源配置文件存入服务缓存,后面启动服务,缓存里面都会有之前存入得数据)
    卸载Redis服务:redis-server --service-uninstall
    2、通过RedisConcectionHelp类加载配置文件,获取IP连接,创建连接对象,从而加载数据库。准备锁机制。

    /// <summary>
    /// 连接字符串
    /// </summary>
    private static readonly string ConnectionWriteString = ConfigurationManager.AppSettings["RedisPath"];
    /// <summary>
    /// redis 连接对象
    /// </summary>
    private static readonly IConnectionMultiplexer ConnMultiplexer = ConnectionMultiplexer.Connect(ConnectionWriteString);
    /// <summary>
    /// 锁
    /// </summary>
    private static readonly object Locker = new object();
    /// <summary>
    /// 数据库
    /// </summary>
    private readonly IDatabase _db;
    

    然后就可以使用Redis服务进行读取。

    Redis多服务启动配置:

    redis.windows-service.conf 或 redis.windows.conf
    配置文件可以自定义命名,例:服务端端口为6379,命名:redis.6379windows.conf 例2:服务端端口为6380,命名:redis.6380windows.conf
    1、Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程 " daemonize no "Windows下没有守护进程
    2、指定 Redis 监听端口,默认端口为 port: 6379
    3、绑定的主机地址 bind 127.0.0.1
    4、当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 timeout 300
    5、设置数据库的数量,默认数据库为 0,可以使用 SELECT 命令在连接上指定数据库ID databases 16
    6、指定 RDB 方式持久化的时候,在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合,语法格式是: save Redis 默认配置文件中提供了三个条件:
    save 900 1
    save 300 10
    save 60 10000
    分别表示 900 秒(15 分钟)内有 1 个更改,300 秒内有 10 个更改以及 60 秒内有 10000 个更改。
    7、指定本地数据库文件名,默认值为 dump.rdb(这个本地数据库也可以自定义命名)dbfilename dump.rdb
    8、指定是否在每次更新操作后进行日志记录,Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面 save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为 no appendonly no
    9、指定更新日志文件名,默认为 appendonly.aof appendfilename appendonly.aof(windows系统下,没有先不用管)
    10、指定更新日志条件,共有 3 个可选值:
    no:表示等操作系统进行数据缓存同步到磁盘(快)
    always:表示每次更新操作后手动调用 fsync()将数据写到磁盘(慢,安全)
    everysec:表示每秒同步一次(折衷,默认值)
    appendfsync everysec
    11、存储Redis服务打开关闭,操作日志 在、conf配置里面指向 logfile "server6379_log.txt"

  • 相关阅读:
    Oracle 行列转换
    Oracle中特殊的INSERT语句
    在.net中实现压缩多个文件为.zip文件 【转】
    JavaScript 原型链【转】
    Oracle安装中的DHCP问题
    每日一题力扣49
    每日一题力扣423
    每日一题力扣451
    每日一题力扣237
    每日一题力扣383
  • 原文地址:https://www.cnblogs.com/dongshenjun/p/14511187.html
Copyright © 2011-2022 走看看