好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#使用Redis的基本操作

一,引入dll

  1.servicestack测试数据mon.dll

  2.servicestack.interfaces.dll

  3.servicestack.redis.dll

  4.servicestack.text.dll

二,修改配置文件

  在你的配置文件中加入如下的代码:

?

<appsettings>

 <add key= "redispath" value= "127.0.0.1:6379" />  todo:这里配置自己redis的ip地址和端口号

 </appsettings>

二,用到的工具类

?

using system;

using system.collections.generic;

using system.linq;

using system.text;

using servicestack.redis;

namespace redisdemo

{

   /// <summary>

   /// redismanager类主要是创建链接池管理对象的

   /// </summary>

   public class redismanager

   {

     /// <summary>

     /// redis配置文件信息

     /// </summary>

     private static string redispath = system.configuration.configurationsettings.appsettings[ "redispath" ];

     private static pooledredisclientmanager _prcm;

     /// <summary>

     /// 静态构造方法,初始化链接池管理对象

     /// </summary>

     static redismanager()

     {

       createmanager();

     }

     /// <summary>

     /// 创建链接池管理对象

     /// </summary>

     private static void createmanager()

     {

       _prcm = createmanager( new string [] { redispath }, new string [] { redispath });

     }

     private static pooledredisclientmanager createmanager( string [] readwritehosts, string [] readonlyhosts)

     {

       //writeserverlist:可写的redis链接地址。

       //readserverlist:可读的redis链接地址。

       //maxwritepoolsize:最大写链接数。

       //maxreadpoolsize:最大读链接数。

       //autostart:自动重启。

       //localcachetime:本地缓存到期时间,单位:秒。

       //recordelog:是否记录日志,该设置仅用于排查redis运行时出现的问题,如redis工作正常,请关闭该项。

       //redisconfiginfo类是记录redis连接信息,此信息和配置文件中的redisconfig相呼应

       // 支持读写分离,均衡负载

       return new pooledredisclientmanager(readwritehosts, readonlyhosts, new redisclientmanagerconfig

       {

         maxwritepoolsize = 5, // [写]链接池链接数

         maxreadpoolsize = 5, // [读]链接池链接数

         autostart = true ,

       });

     }

     private static ienumerable< string > splitstring( string strsource, string split)

     {

       return strsource.split(split.toarray());

     }

     /// <summary>

     /// 客户端缓存操作对象

     /// </summary>

     public static iredisclient getclient()

     {

       if (_prcm == null )

       {

         createmanager();

       }

       return _prcm.getclient();

     }

   }

}

三,main方法执行存储操作与读取操作

?

using system;

using system.collections.generic;

using system.linq;

using system.text;

using servicestack.redis;

using servicestack.redis.support;

namespace redisdemo

{

   class program

   {

     static void main( string [] args)

     {

       try

       {

         //获取redis操作接口

         iredisclient redis = redismanager.getclient();

         //放入内存

         redis. set < string >( "my_name" , "小张" );

         redis. set < int >( "my_age" , 12);

         //保存到硬盘

         redis.save();

         //释放内存

         redis.dispose();

         //取出数据

         console.writeline( "取出刚才存进去的数据 \r\n 我的name:{0}; 我的age:{1}." ,

           redis. get < string >( "my_name" ), redis. get < int >( "my_age" ));

         console.readkey();

       }

       catch (exception ex)

       {

         console.writeline(ex.message.tostring());

         console.readkey();

       }

     }

   }

}

完活,下面是运行后的结果

以上所述是小编给大家介绍的c#使用redis的基本操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://HdhCmsTestcnblogs测试数据/f-z-h/archive/2017/06/26/7080404.html

dy("nrwz");

查看更多关于C#使用Redis的基本操作的详细内容...

  阅读:46次