Redis 学习笔记(C#)

Redis安装及简单操作                                                                  

Windows下安装步骤:

1. 第一步当然是先下载咯~  地址:https://github.com/dmajkic/redis/downloads

    (根据自己实际情况选择是下32位还是64位)

     备用下载地址 https://github.com/MSOpenTech/redis/releases

     下载下来的文件如下图:

     

 

2.  打开Redis的服务端

     方法一:双击上图redis-server.exe(这是最简单粗暴的方式)

     方法二:也可以通过命令行打开(比如我这些文件是放在D:\Program\Redis\Redis\redis-2.4.5-win32-win64\64bit)

                在命令行敲入如下命令(目录需要改成你自己放的文件位置)

                

      不管是哪种方法,最终如上图所示,Server Started,即服务端已经开启了

      这时候注意,这个cmd窗口不要关闭,这是服务端,得让他一直在这候着。。。。

3.  打开客户端

    通过cd命令,切换到文件保存的目录,

    再输入redis-cli.exe -h 127.0.0.1 -p 6379 (由于服务端就在我本地,所以直接用127.0.0.1,如果是远程服务器,则输入服务器Ip;6379是redis默认端口号,也可以在redis.conf里修改端口号配置)

     直接上图,比较直观

    

至此所有准备工作已经完毕。

   赶紧开始我们的redis之旅吧~~~~~~

 

在客户端输入 set testKey1 1qaz    保存键(testKey1)对应的值(1qaz)

再通过get获取testKey1的值

      

ho~ 很激动,set get都成功执行了!

 

问题来了,命令行是可以操作了,但是我的程序怎么来操作redis呢?

莫急,下面我就以.net C#为例,介绍怎么通过C#操作redis

 

在.Net中使用Redis                                                                      

其实呢,redis是有第三方驱动的,可以支持多种语言C#,PHP,JAVA。。。。

在.Net中使用Redis,官方推荐的有两个:ServiceStack.Redis和StackExchange.Redis

在.Net中使用Redis 之 ServiceStack.Redis                                        

ServiceStack.Redis下载地址:https://github.com/ServiceStack/ServiceStack.Redis

如果上面地址下载失败,直接下我这个包吧 https://files.cnblogs.com/files/zhangddleon/ServiceStack.Redis.zip

下载下来之后,要用到的就4个dll

现在,我们来新建一个控制台程序,并将上面的4个dll引用到我们的项目中

class Program
    {
        private static void Main(string[] args)
        {
            try
            {
                RedisClient redisClient = new RedisClient("127.0.0.1", 6379);
                bool b1 = redisClient.Set("testKey1", "testValue111");
                bool b2 = redisClient.Set("testKey2", "testValue222", DateTime.Now.AddSeconds(5)); //设置过期时间为5s
                string value1 = redisClient.Get<string>("testKey1");
                string value2 = redisClient.Get<string>("testKey2");
                Console.WriteLine("value1:" + value1 + ",value2:" + value2);
                Thread.Sleep(6000);
                string value22 = redisClient.Get<string>("testKey2");
                Console.WriteLine("value22:" + value22);     //testKey2已过期,value22为空  
                Console.ReadLine();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
    }

这就是通过ServiceStack,在.Net中使用Redis的方法。

但是现在最新版的ServiceStack已经商业化了,加入了许多限制,比如一小时最多只能6000请求,官方说明如下:

造孽,有点人用,就开始要收费!!

天无绝人之路,ServiceStack收费了,不还有StackExchange嘛~

那我们就一起来学下StackExchange.Redis的用法吧

(攻城狮就是勤奋好学的代言人)

 

在.Net中使用Redis 之 StackExchange.Redis                                     

安装StackExchange.Redis

 搜索StackExchange.Redis,安装

安装好之后,打开References,看看里面是不是有StackExchange.Redis

码农开始码代码

class Program
    {
        static void Main(string[] args)
        {
            //ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1");
            ConnectionMultiplexer client = ClientMgr.GetClient("127.0.0.1");

            IDatabase db = client.GetDatabase();
            db.StringSet("testKey1", "aaa");
            db.StringAppend("testKey1", "bbb");
            string value = db.StringGet("testKey1");
            Console.WriteLine(value);    //输出aaabbb
        }

        public class ClientMgr
        {
            private static readonly object locker = new object();
            private static  ConnectionMultiplexer client;
            public static ConnectionMultiplexer GetClient(string connectionStr)
            {
                if (client == null)
                {
                    lock (locker)
                    {
                        if (client == null)
                        {
                            client = ConnectionMultiplexer.Connect(connectionStr);
                        }
                    }
                }
                return client; 
            }
        }
        
    }

好了,StackExchange.Redis的基本用法就是这样的。

如有问题或者高见,大家可以一起讨论,共同进步~

 

参考链接: http://www.runoob.com/redis/redis-install.html   

 

posted @ 2016-05-18 16:59  编不好程的东东不是一个好歌手  阅读(518)  评论(0编辑  收藏  举报