`

C# Redis实战(三)

 
阅读更多

三、程序配置

 

C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行。

现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息:

    <?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配置的程序如下:

    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管理类代码:

    /// <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();  
           }  

 

分享到:
评论

相关推荐

    rediapp_c#redisdemo_

    标签 "c#redisdemo" 明确了这个压缩包的内容是关于C#编程语言与Redis的实战示例。 在压缩包文件名称列表中,只有一个条目 "rediapp",这可能是项目的名字或者包含源代码、配置文件的主目录。 在这个"rediapp"项目...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了...

    很全面的Redis教程(在java和c#中安装教程、工具类、架包、以及桌面客户端等)

    5. **Redis实战**: - **数据结构**:Redis支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets),在设计高效数据存储方案时非常有用。 - **事务与发布订阅**:...

    《Redis实战》红丸出品

    ### Redis实战:从入门到精通 #### 一、Key-Value存储系统概览与Redis的选择 在《Redis实战》这本由红丸出品的书中,作者深入浅出地介绍了多种Key-Value存储系统,包括Voldemort、Dynamo、memcachedb、Cassandra、...

    Redis实战 中文完整版

    ### Redis实战:中文完整版知识点总结 #### 一、Redis快速入门 ##### 1.1 Key-Value存储系统简介 **1.1.1 Voldemort** Voldemort是一款分布式键值存储系统,它支持高可用性和数据分区,适用于大规模数据存储场景...

    YXBG.Second_redis_IP缓存_c#集成redis_

    在IT行业中,Redis被广泛用作高性能的内存数据存储,常用于实现缓存、消息队列等功能。在本项目"YXBG.Second_redis_IP缓存_c#集成redis_"中,我们将...这是一个很好的实战案例,展示了Redis在实际业务中的应用价值。

    Redis实战文档

    #### 三、Redis实战指导 ##### 3.1 安装与配置 在安装Redis之后,配置文件`redis.conf`允许用户自定义运行参数,如端口、密码保护、持久化策略等。通过调整这些设置,可以根据具体的应用场景优化Redis的性能和安全...

    Redis 实战

    ### Redis 实战 #### Key-Value存储系统简介 在探讨Redis之前,我们首先需要了解什么是Key-Value存储系统。这类系统是一种非关系型数据库的一种形式,它通过键(Key)来存储和检索值(Value)。这种简单的设计使得...

    Redis实战《红丸出品》.pdf

    Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object...

    2018年redis全套视频-讲解 实战

    ### 四、Redis实战技巧 1. **优化配置**: - 调整最大内存限制,避免因内存不足导致服务不稳定。 - 合理设置持久化策略,平衡性能与数据安全性。 - 配置合适的过期时间,自动清理不再使用的数据。 2. **命令...

    《高并发网站与分布式缓存Redis与开发实战》3.0.pdf

    根据给定的文件信息,我们可以提炼出以下知识点: 1. 高并发网站架构:高并发网站指的...通过结合理论知识与实际案例,本书旨在为开发者提供实战经验,帮助他们在构建高并发网站与分布式缓存系统时能够更加得心应手。

    redis实战相关项目代码,用python编写.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    后端数据优化之-Redis 自带差集测试Demo.rar

    描述中的"redis c# 数据优化 差集 c#redis GetDifferencesFromSet"指出了我们将使用C#来调用Redis客户端,执行差集操作。`GetDifferencesFromSet`是一个可能的C#方法名,它代表了从Redis服务器获取两个集合差集的...

    Redis实战视频课程

    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/...

    redis windows 安装包含.net项目示例

    4. .NET C#项目实战示例: - 缓存操作:在Web应用中,可以将经常访问但计算代价高的数据缓存在Redis,例如用户会话、常用查询结果等,提高响应速度。 - 消息队列:利用Redis的List数据结构,实现简单的消息队列...

    成语接龙_Redis.7z

    标题中的“成语接龙_Redis.7z”表明这是一个与编程相关的项目,特别是使用C#语言实现的成语接龙游戏,且游戏数据存储在Redis内存数据库中。...对于学习C#编程和Redis数据库操作的开发者来说,这是一个很好的实战案例。

    广受大家喜爱的淘淘商城项目实战教程

    深受大家喜爱的实战项目,使用的技术,spring ,springmvc mybatis, shiro redis vm ,easyUI 等前沿框架,由于视频较大,压缩包中存放了视频的链接,一共6G,14讲。

Global site tag (gtag.js) - Google Analytics