• C# 中使用 Redis 简单存储


    原文网址:https://www.cnblogs.com/timeddd/p/11117787.html

    Redis 是一个开源的使用 ANSI C语言编写的支持网络、可基于内存也可持久化的日志型、Key-Value 数据库。

    常用它来存储缓存数据,能非常轻松的实现缓存过期刷新机制。

    多种语言都可以连接到 Redis 数据库服务器,本文将推荐一个非常简洁的 C# 连接 Redis 数据库的开源项目。

    一般推荐

    通常,C# 使用 Redis 会推荐使用添加 NuGet 包 StackExchange.Redis 的方式来使用。

    使用时代码形式如下:

    ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379,password=CeshiPassword");
    IDatabase db = redis.GetDatabase();
    string value = "name";
    db.StringSet("mykey", value);
    Console.WriteLine(db.StringGet("mykey"));
    

    个人觉得,其使用方式不够直观。
    如 ConnectionMultiplexer 这个名称不是可猜测的,甚至看到它也想不起它与 Redis 有什么关系。然后,从最简使用的角度,它还需要用户了解到里边 Database 的概念。

    推荐一个简洁版本 csredis

    项目地址:https://github.com/ctstone/csredis

    其名称接地气,使用方便,形式如下。

    using (var redis = new RedisClient("localhost"))
    {
       redis.Auth("password");
       redis.Set("mykey", "name", 25);  // 有效期25秒
       Console.WriteLine(redis.Get("mykey"));
    } 
    

    一个简单的辅助类

    这里进行简单的封装,使得使用时只关心键与值,以及其有效时长,这样一样,普通的 token 缓存场景就可以满足了。

    public class RedisHelper
    {
        private static RedisClient _RedisCli;
        private static RedisClient RedisCli
        {
            get
            {
                if (_RedisCli == null)
                {
                    _RedisCli = new RedisClient("192.168.0.100");
                    _RedisCli.Auth("redispassword");
                }
                return _RedisCli;
            }
        }
    
        /// <summary>
        /// 取得缓存值
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetKey(string key)
        {
            return RedisCli.Get(key);
        }
    
        /// <summary>
        /// 保存值并设置有效期(second)
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="expireSeconds"></param>
        public static void SetKey(String key, String value, int expireSeconds)
        {
            RedisCli.Set(key, value, expireSeconds);
        }
    }
    
    关注“时间维度”公众号,来一场时空交织!
  • 相关阅读:
    Nacos深入浅出(四)
    Nacos深入浅出(三)
    Nacos深入浅出(二)
    Nacos深入浅出(一)
    Mycat(1)
    redis事务
    git常用的方式
    redis主从复制
    redis持久化RDB和AOF
    Quartz
  • 原文地址:https://www.cnblogs.com/bruce1992/p/16866919.html
Copyright © 2020-2023  润新知