zoukankan      html  css  js  c++  java
  • StackExchange.Redis.DLL 操作redis简化版

    直接引入StackExchange.Redis.dll来操作redis

    using Newtonsoft.Json;
    using StackExchange.Redis;
    using System;
    using System.Collections.Generic;
    using System.Web.Script.Serialization;
    
    namespace Common
    {
        public class RedisHelper
        {
    #if FALSE
            RedisHelper redislper = new RedisHelper();
            使用事例
            if (redislper.KeyIsExist(item.Equipmentid, redisadress))//判断是否存在key值
                    {
                        var collection = redislper.GetCache<T>(key值);//获取缓存数据                  
                    }  
            //写入缓存
            List<T> list = new  List<T>();
             redislper.SetCache<T>(key值, list);
    #endif
    
            private string adress = "127.0.0.1:6379";
            public RedisHelper() {}
            public void SetCache<T>(string key, List<T> value, DateTime? date = null)
            {
                using (var redis = ConnectionMultiplexer.Connect(adress))
                {
                    //写入
                    var db = redis.GetDatabase();
                    db.StringSet(key, JsonConvert.SerializeObject(value));
                    //设置过期日期
                    if (date != null)
                    {
                        DateTime time = DateTime.Now.AddSeconds(20);
                        db.KeyExpire("key", time);
                    }
                }
    
            }
            /// <summary>
            /// 获取指定key的List
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public List<T> GetCache<T>(string key)
            {
                //var adress = @"127.0.0.1:6379";
                using (var redis = ConnectionMultiplexer.Connect(adress))
                {
                    //读取
                    var db = redis.GetDatabase();
                    return ConvetList<T>(db.StringGet(key));
                }
    
            }
            /// <summary>
            /// 看key是否存在
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public bool KeyIsExist(string key)
            {
                using (var redis = ConnectionMultiplexer.Connect(adress))
                {
                    //读取
                    var db = redis.GetDatabase();
                    return db.KeyExists(key);
                }
    
    
            }
            public List<T> ConvetList<T>(string JsonStr)
            {
                JavaScriptSerializer Serializer = new JavaScriptSerializer();
                List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
                return objs;
    
            }
        }
    }
  • 相关阅读:
    【python】第一个爬虫:用requests库爬取网页内容
    【python】UDP协议编程
    【python】体育竞技分析:预测球队比赛成绩
    【python】手绘图制作
    【python】成绩表雷达图
    【python】numpy库和matplotlib库学习笔记
    【python】PIL库之图片处理
    【python】PIL库学习总结
    【python】利用jieba中文分词进行词频统计及生成词云
    汉诺塔问题
  • 原文地址:https://www.cnblogs.com/macT/p/11288527.html
Copyright © 2011-2022 走看看