zoukankan      html  css  js  c++  java
  • .Net Core使用Redis(CSRedis)

    前言

    CSRedis是国外大牛写的。git地址:https://github.com/2881099/csredis,让我们看看如果最简单的 使用一下CSRedis吧。

    引入NuGet

    获取Nuget包(目前版本3.0.18)!哈,没错,使用前要通过Nuget来安装下引用,什么?你不知道怎么使用Nuget包?对不起,右上角点下“X” 关掉网页就可以了。

    nuget Install-Package CSRedisCore

     基本使用

    CSRedisCore的使用很简单,就需要实例化一个CSRedisClient(集群连接池)对象然后初始化一下RedisHelper就可以了,他的方法名与redis-cli基本保持一致。所以说你可以像使用redis-cli命令一样来使用它。

    1.新建一个 IRedisClient 接口

    public interface IRedisClient
        {
            string Get(string key);
            void Set(string key, object t, int expiresSec = 0);
            T Get<T>(string key) where T : new();
            Task<string> GetAsync(string key);
            Task SetAsync(string key, object t, int expiresSec = 0);
            Task<T> GetAsync<T>(string key) where T : new();
        }

    2.实现接口

    public class CustomerRedis : IRedisClient
        {
            public string Get(string key)
            {
                return RedisHelper.Get(key);
            }
    
            public T Get<T>(string key) where T : new()
            {
                return RedisHelper.Get<T>(key);
            }
    
            public void Set(string key, object t, int expiresSec = 0)
            {
                RedisHelper.Set(key, t, expiresSec);
            }
            public async Task<string> GetAsync(string key)
            {
                return await RedisHelper.GetAsync(key);
            }
    
            public async Task<T> GetAsync<T>(string key) where T : new()
            {
                return await RedisHelper.GetAsync<T>(key);
            }
            public async Task SetAsync(string key, object t, int expiresSec = 0)
            {
                await RedisHelper.SetAsync(key, t, expiresSec);
    
            }
        }

    3.在项目Startup类中 ConfigureServices方法 里注入并 初始化Redis

     services.AddScoped<IRedisClient,CustomerRedis>();
    var
    csredis = new CSRedis.CSRedisClient("127.0.0.1:6379"); RedisHelper.Initialization(csredis);//初始化

    4.页面使用,本例以发短信为例

    private readonly IRedisClient _redisclient;
    
    public SmsServices(IRedisClient redisClient)
            {
                _redisclient = redisClient;
            }
    
    public async Task<bool> SendVerifyCode(string phoneNumber)
    {
                //create random verify code
                
      await _redisclient.SetAsync(userdataKey, randomCode, 300)
    
                //send short message
                
    }
    
    public async Task<bool> VerifyCode(string userCode, string verifycode)
            {
                
       var resultCode = await _redisclient.GetAsync(userdataKey);
    
                return verifycode == resultCode;
    
            }

    5.打开本地的Redis Desktop 可查看到 缓存已经被添加进去了

  • 相关阅读:
    SpringBoot Actuator
    Mysql中实现row_number
    .添加索引和类型,同时设定edgengram分词和charsplit分词
    mysql临时禁用触发器
    centos6.7下安装mvn 、安装elasticsearch下ik分词
    ElasticSearch 自定义排序处理
    ElasticSearch返回不同的type的序列化
    Elasticsearch判断多列存在、bool条件组合查询示例
    C#多线程环境下调用 HttpWebRequest 并发连接限制
    centos6.7安装Redis
  • 原文地址:https://www.cnblogs.com/zhangxiaoyong/p/10732820.html
Copyright © 2011-2022 走看看