C# Redis 安装和配置 For Windows

Anonymity | | 访问(218)

  一. 背景介绍

  Redis是最快的key-value分布式缓存之一

  缺点: 没有本地数据缓冲, 目前还没有完整的数据聚集化支持

  优点: 配置简单, 使用方便, 高性能,支持不同的数据类型(hashes, lists, sets, sorted sets)

  ASP.NET WebUI for viewing content of the cache

  二. 安装Redis

  1、自动安装版(下载最新的点击安装即可)

  https://github.com/rgl/redis/downloads

  Redis可视化工具 下载地址:https://github.com/dmajkic/redis/downloads

  2、手动安装版(可忽略)

  1) 从github下载最新的32/64位安装

  https://github.com/dmajkic/redis/downloads

  解压到你自己的目录

  eg: d:\RedisServer

  2) 从github下载Redis服务程序

  dll手工版

  https://github.com/kcherenkov/redis-windows-service/downloads

  拷贝到RedisServer的安装目录

  eg: d:\RedisServer

  3) 安装redis服务

  进入你的应用程序目录,运行下面的命令

  sc create %name% binpath= "\"%binpath%\" %configpath%" start= "auto" DisplayName= "Redis"

  %name% -- name of service instance, ex. redis-instance;

  %binpath% -- path to this project exe file, ex. C:\Program Files\Redis\RedisService_1.1.exe;

  %configpath% -- path to redis configuration file, ex. C:\Program Files\Redis\redis.conf;

  sc create my-redis binpath= "\"D:\RedisServer\RedisService_1.1.exe\" D:\RedisServer\redis.conf" start= "auto" DisplayName= "MyRedis"

  删除服务: sc delete my-redis

window 安装redis服务、卸载redis服务和启动redis服务

  1、安装redis服务

  redis-install.bat

  echo install redis-server

  D:\redis\redis-server.exe --service-install D:\redis\redis.windows.conf --loglevel verbose

  2、卸载redis服务

  redis-uninstall.bat

  echo uninstall redis-server

  D:\redis\redis-server.exe --service-uninstall

  3、启动redis服务

  start-redis.bat

  echo start redis-server

  D:\redis\redis-server.exe D:\redis\redis.windows.conf

  4) 基本配置

  redis.conf

  # requirepass foobared

  开启密码模式,去掉注释,重启服务

  这样实例化一个Redis服务的时候,就需要密码

  int port = 6379;

  string password = "foobared";

  RedisClient client = new RedisClient(serverHost, port, password);

  Redis server replication (master - slave配置)

  # slaveof

  eg:

  slaveof 192.168.1.1 6379

  三. 客户端编程

  1) 安装Redis包

  四.简单例子

using ServiceStack.Redis;
using System.Web.Mvc;

namespace Clump.Redis.Controllers
{
    public class HomeController : Controller
    {

        public ActionResult Index()
        {
            string host = "localhost";
            string elementKey = "testKeyRedis";
            string message = "";
            using (RedisClient redisClient = new RedisClient(host))
            {
                if (redisClient.Get(elementKey) == null)
                {
                    // save value in cache
                    redisClient.Set(elementKey, "default value");
                }
                // get value from the cache by key
                message = "Item value is: " + redisClient.Get(elementKey);
            }
            return Content(message);
        }

    }
}