Redis 是一个开源的使用ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。
本文主要讲述的是如何使用C#语言来进行Redis分布式缓存的程序编写。首先,需要从github下载最新的32/64位安装,解压后根据自己机器的实际情况选择32位或者64位,例如:我机器是64位win7,于是将64bit下所有文件拷贝到D盘根目录下新建文件夹redis中,或者直接下载Redis服务(可以将此服务设置为windows系统服务,下载Redis服务安装软件,安装即可。),我个人比较喜欢这个。

第一步,从Nuget下载Redis,我用的是ServiceStack.Redis,新版本是5.0.2,我怕不稳定,下载了5.0.0

添加后自动引用Dll

第二步,在配置文件添加redis的相关配置

 <configSections><section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /><section name="RedisConfig" type="GTA.FTRTP.Common.Redis.RedisConfigInfo, GTA.FTRTP.Common" /><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections><RedisConfig WriteServerList="127.0.0.1:6379" ReadServerList="127.0.0.1:6379" MaxWritePoolSize="60" MaxReadPoolSize="60" AutoStart="true" LocalCacheTime="180" RecordeLog="false">  </RedisConfig>  <connectionStrings>

第三步,添加一些基本的读写操作

  public class RedisConfigInfo: ConfigurationSection{public static RedisConfigInfo GetConfig(){RedisConfigInfo section = (RedisConfigInfo)ConfigurationManager.GetSection("RedisConfig");return section;}public static RedisConfigInfo GetConfig(string sectionName){RedisConfigInfo section = (RedisConfigInfo)ConfigurationManager.GetSection("RedisConfig");if (section == null)throw new ConfigurationErrorsException("Section " + sectionName + " is not found.");return section;}/// <summary>/// 可写的Redis链接地址/// </summary>[ConfigurationProperty("WriteServerList", IsRequired = false)]public string WriteServerList{get{return (string)base["WriteServerList"];}set{base["WriteServerList"] = value;}}/// <summary>/// 可读的Redis链接地址/// </summary>[ConfigurationProperty("ReadServerList", IsRequired = false)]public string ReadServerList{get{return (string)base["ReadServerList"];}set{base["ReadServerList"] = value;}}…………
}

 public class RedisManager{/// <summary>/// redis配置文件信息/// </summary>private static RedisConfigInfo redisConfigInfo = RedisConfigInfo.GetConfig();private static PooledRedisClientManager prcm;/// <summary>/// 静态构造方法,初始化链接池管理对象/// </summary>static RedisManager(){CreateManager();}/// <summary>/// 创建链接池管理对象/// </summary>private static void CreateManager(){string[] writeServerList = SplitString(redisConfigInfo.WriteServerList, ",");string[] readServerList = SplitString(redisConfigInfo.ReadServerList, ",");prcm = new PooledRedisClientManager(readServerList, writeServerList,new RedisClientManagerConfig{MaxWritePoolSize = redisConfigInfo.MaxWritePoolSize,MaxReadPoolSize = redisConfigInfo.MaxReadPoolSize,AutoStart = redisConfigInfo.AutoStart,});}private static string[] SplitString(string strSource, string split){return strSource.Split(split.ToArray());}/// <summary>/// 客户端缓存操作对象/// </summary>public static IRedisClient GetClient(){if (prcm == null)CreateManager();return prcm.GetClient();}}

第四步,在controller直接引用贴出部分代码

  var redis = RedisManager.GetClient();var redsiClass = redis.Get<Class>("All");//判断是否已经缓存if (redsiClass != null){model = redsiClass;}else {var entity = db.Class.FirstOrDefault(e => e.ClassId == StringKeys.UniversityId);var getClassList = ClassRepository.GetClassListByParentId(StringKeys.UniversityId).OrderBy(a => a.ClassId);var firstOrDefault = getClassList.FirstOrDefault();model.CollageId = firstOrDefault != null ? firstOrDefault.ClassId : 0;redis.Set<Class>("All", model);//没有则进行添加
db.Dispose();}

第五步,如果是有新的数据生成应该删除缓存存数据到数据库的

  public void Remove(string value){var redis = RedisManager.GetClient();redis.Remove(value);}

以上就是redis简单的使用。

如果想要具体的实现步骤可以进CSDN下载相关源码:http://download.csdn.net/download/songlhua/10266722?from=singlemessage&isappinstalled=0#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1

转载于:https://www.cnblogs.com/songStar/p/8493645.html

.NET下添加Redis相关推荐

  1. Linux下安装Redis并添加PHP扩展(自己测试了没有问题)

    1.安装Redis客户端 1.1下载redis客户端 进入redis官网,然后使用wget下载redis客户端 [root@localhost ~]# wget http........ 1 下载之后 ...

  2. Windows下安装Redis服务

    2019独角兽企业重金招聘Python工程师标准>>> Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这 ...

  3. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  4. linux下,redis 3.2.1双节点集群安装部署

    为什么80%的码农都做不了架构师?>>>    一.环境准备 1.JDK环境准备,需卸载掉自带JDK (1)检查服务器是否自带jdk环境 [root@redis1 /]# rpm - ...

  5. Linux下安装Redis数据库

    操作系统是Ubuntu(window下的虚拟机),与centOS的区别在于yum源支持不友好.普通联网安装采用apt-get较为常见. 联网安装可以直接执行命令: 最好采用sudo管理员权限去操作,方 ...

  6. linux redis php,Linux下编译redis和phpredis的方法

    这篇文章主要介绍了Linux下编译redis和phpredis的方法,分析了redis的下载,编译,安装及遇到的问题与相应的解决方法,需要的朋友可以参考下 本文讲述了Linux下编译redis和php ...

  7. php 安装redis数据库,Linux下安装Redis以及phpredis模块

    一:Linux下Redis的安装 1. 首先上官网下载Redis 压缩包,地址:http://redis.io/download下载 2. 通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压 ...

  8. centos / Linux 服务环境下安装 Redis 5.0.3

    centos / Linux 服务环境下安装 Redis 5.0.3 原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local ...

  9. centos php.ini redis,CentOS下安装Redis及Redis的PHP扩展

    1.安装Redis 1.1 如果没有安装wget,安装wgetyum install wgetwget http://download.redis.io/releases/redis-3.2.0.ta ...

  10. Linux下安装Redis及搭建主从

    Linux下安装Redis 首先在官网下载对应版本的redis包,这里本人使用的是redis-4.0.8.tar.gz.   然后在服务器中存放redis包的路径下执行tar –vxf redis-4 ...

最新文章

  1. 银行软件开发实习生_如何找到学生的软件开发人员实习生
  2. 开启笔记本win7的虚拟热点,让你的本本变成wifi
  3. python【数据结构与算法】最短路算法之FloyedDijkstra
  4. 10种增强脑力的办法
  5. 搜索 —— 启发式搜索
  6. sae mysql_connect_SAE连接数据库 - zxm的个人空间 - OSCHINA - 中文开源技术交流社区
  7. phalapi可以依赖注入么_phalapi-进阶篇8(PhalApi能带来什么和进阶篇总结)
  8. js当中null和{}区别
  9. 大数据应用存在哪些安全隐患
  10. 关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案
  11. k8s学习: 创建 mysql 任务
  12. 中国生物医药产业集群产业战略布局及运营管理模式分析报告2021-2027年
  13. MFC中SetTimer函数
  14. 华硕电脑锁定计算机,华硕笔记本电脑的BIOS怎么设置
  15. docker重启参数--restart=always的作用
  16. 大学数学建模大赛是用计算机,全国大学生数学建模大赛
  17. 1189 SEARCH
  18. springboot毕设项目社区分享系统的实现与分析48ig8(java+VUE+Mybatis+Maven+Mysql)
  19. my97时间控件的使用
  20. ➢ 微信公众号运营教程(一)申请一个微信公众号

热门文章

  1. 苹果Mac 下 Parallels Desktop “无法连接到 Parallels 服务”如何解决?
  2. 苹果mac视频音频格式转换软件:Permute
  3. 苹果Mac全新的文件启动方式:Hapigo
  4. Safari 搜寻引擎被 Yahoo 绑架,试试这 4 种解决方法
  5. 教你如何创建第一个Java应用程序
  6. ZooKeeper学习第八期——ZooKeeper伸缩性
  7. 使用Project客户端和Project Server进行项目管理 - android开发实例 - 博客园
  8. Qt之进程间通信(Windows消息)
  9. phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法
  10. Oracle RMAN完全恢复案例(二)