c#对第三方缓存redis的操作(三)
2015-05-22 11:08
736 查看
三、程序配置
在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行。现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息:
[html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="RedisConfig" type="RedisDemo.RedisConfigInfo, RedisDemo"/>
</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>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-RedisDemo-20131125110945;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-RedisDemo-20131125110945.mdf" />
</connectionStrings>
</configuration>
有了以上信息还不够,还需要用C#代码来读取并且操作,获取Redis配置的程序如下:
[csharp] view
plaincopy
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;
}
Redis管理类代码:
[csharp] view
plaincopy
/// <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();
}
相关文章推荐
- c#对第三方缓存redis的操作(四)
- c#对第三方缓存redis的操作(五)
- c#对第三方缓存redis的操作(六)
- c#对第三方缓存redis的操作(七)
- c#对第三方缓存redis的操作(-)
- c#对第三方缓存redis的操作(二)
- C# Redis 操作遇到的问题
- C#操作REDIS例子
- [Cache] C#操作缓存--CacheHelper缓存帮助类 (转载)
- C#操作Redis SortedSet 有序集合
- Redis for Windows(C#缓存)配置文件详解
- 在Java中对Redis的缓存操作
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
- redis缓存工具Jedis进行跨jvm加锁(分布式应用)--不幸暂弃用--能够做第三方锁使用
- Spring Boot 整合 Redis 实现缓存操作
- C#使用Redis做缓存遇到的坑处理方案
- 【Redis缓存机制】4.String字符串类型操作
- C#操作缓存--CacheHelper缓存帮助类
- Redis for Windows(C#缓存)安装和使用
- 在c#中使用servicestackredis操作redis的实例代码