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;

        }
    }
}

 

转载于:https://www.cnblogs.com/macT/p/11288527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值