安装 (Windows)https://github.com/microsoftarchive/redis/releases/download/win-3.2.100/Redis-x64-3.2.100.msi

安装(Linux) 

$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make

配置环境变量(选)

配置密码 打开Redis.conf 找到requirepass 去掉前面# 解注

启动服务 redis-server redis.windows.conf

启动客户端 redis-cli -h 127.0.0.1 -p 6379 -a password

 

.net nuget ServiceStack.Redis

.net core nuget ServiceStack.Redis.Core

public class RedisHelper
    {
        private static RedisClient _redisClient = new RedisClient("127.0.0.1", 6379, "password");//redis服务IP和端口和密码
        /// <summary>
        /// 移除key
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool RemoveKey(string key)
        {
            return _redisClient.Remove(key);
        }

        /// <summary>
        /// 重新设置key的过期时间
        /// </summary>
        /// <param name="key"></param>
        /// <param name="timeOut">过期时间(秒)</param>
        /// <returns></returns>
        public static bool KeyExpire(string key, int timeOut)
        {
            return _redisClient.Expire(key, timeOut);
        }
        /// <summary>
        /// 设置键和字符串类型的值
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool Set(string key, string value)
        {
            return _redisClient.Set<string>(key, value);
        }
        /// <summary>
        /// 设置键和字符串类型的值
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="timeOut">过期时间(秒)</param>
        /// <returns></returns>
        public static bool Set(string key, string value, int timeOut)
        {
            return _redisClient.Set<string>(key, value, DateTime.Now.AddSeconds(timeOut));
        }

        /// <summary>
        /// 根据key获取value
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string Get(string key)
        {
            return _redisClient.Get<string>(key);
        }

        /// <summary>
        /// 设置键和指定类型数据的值
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="timeOut">过期时间(秒)</param>
        /// <returns></returns>
        public static bool Set<T>(string key, T value, int timeOut)
        {
            return _redisClient.Set<T>(key, value, DateTime.Now.AddSeconds(timeOut));
        }
        /// <summary>
        /// 设置键和指定类型数据的值
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool Set<T>(string key, T value)
        {
            return _redisClient.Set<T>(key, value);
        }

        /// <summary>
        /// 根据key获取指定类型数据
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        public static T Get<T>(string key)
        {
            return _redisClient.Get<T>(key);
        }
    }