zoukankan      html  css  js  c++  java
  • 学习笔记49_Redis

    Redis和memcache区别:

    1 . mm是通过客户端驱动实现集群化,Redis是通过服务器配置文件集群

    2. redis是可以进行持久化的存储

    3. redis提供高级的数据结构,队列,栈都提供

    4. reids是单线程的。处理数据比较小的时候,没有太大区别,数据大的时候,mm性能更高,mm是多线程的。

    **************************************************************************************

    Redis部署:

    1.解压Redis的压缩包

    Redis的文件。

    2.命令提示行

    C:UsersAdministrator>F:  //进入F盘

    F:>cd f: edis-2.0.2 //cd是进入的命令, 进入redis-2.0.2文件夹

    f: edis-2.0.2>dir //显示目录

    f: edis-2.0.2>redis-server.exe//启动

    3.配置Redis,让Redis称为服务。

    redis-2.0.2configRedis.conf

    daemonize yes  //是否作为后台服务,默认为yes

    port 6379  //Redis的端口

    Logfile Config/Redis.log  //日志路径,相对于redis-server.exe的路径

    rdbcompression yes //数据存储到本地数据库时,是否压缩数据,默认yes

    dbfilename dump.rdb //数据文件

    4.启动服务(重要)

    f:/redis-2.0.2>redis-server.exe config/redis.conf //启动服务,并指定一个配置文件,读取配置文件后,就能作为后台服务了,窗口关了也不会停止。

    5.redis集群

      第一步:要将redis的压缩包放到不同的机器上解压,本机测试就可以copy几个文件夹

      第二步:在其他机器上,配置redis.conf  

      slaveof : 127.0.0.1 :6379 //是那台机器的从数据库,此处127.0.0.1:6379是主服务器

      port: 6381 //本机的端口

      第三步:1.启动主服务;2.逐个启动从服务

    第四步:插入数据测试

    ***主库用来写,从库用来读,分担了压力

    redis-cli.exe,就是客户端的意思。

    *************************************************************************************

     C#操作Redis:

    1.添加引用:ServiceStack.dll,ServiceStack.Interfaces.dll,ServiceStack.ServiceInterface.dll

    var client = new RedisClient("127.0.0.1",6379); //写的时候使用主库,主服务器和从服务是数据同步

    var readClient =  new RedisClient("127.0.0.1",6381);//读的时候使用从库,如果有多个从库,那么可以随机的弄一个

    var s = client.AddItemToSortedSet("12","百度",400);// 这里添加一个排序列表, 12是key的意思,"百度"是value,400是序号,用来排序

     client.AddItemToSortedSet("12","谷歌",300);

     client.AddItemToSortedSet("12","阿里",300);

     client.AddItemToSortedSet("12","新浪",100);

     client.AddItemToSortedSet("12","人人",500);

    //

    var list = client.GetRangeFormSortedSet("12",0,4);//12是key,0开始,4结束,以升序获取范围列表

    list =  client.GetRangeFormSortedSetDesc("12",0,4);//以降序获取范围列表

    //redis基本功能,分布式缓存

    Client.Add("key","value",DateTime.Now.AddMinutes(20));

    //数据结构:队列 

    client.EnqueueItemOnList("LogQueue","错误信息1",) ;//进队列

    client.EnqueueItemOnList("LogQueue","错误信息2",) ;//进队列

    string str = client.DequeueItemFormList("LogQueue")'//获取的是"错误信息1",队列先进先出

    //数据结构:栈

    client.PushItemToList("fz","1");

    client.PushItemToList("fz","2");

    string fz = client.PopItemFromList("fz");//获取的是"2",栈是先进后出

    //

    队列和栈的用处重点

    主服务器接收到某些请求后,将数据存到队列当中,然后其他服务器定时获取数据,并且处理数据,已达到分机器处理。

     //

  • 相关阅读:
    while练习
    运算符
    作业
    [新手必看] 17个常见的Python运行时错误
    作业
    day04
    作业
    算法模板——线段树2(区间加+区间乘+区间求和)
    1798: [Ahoi2009]Seq 维护序列seq
    1708: [Usaco2007 Oct]Money奶牛的硬币
  • 原文地址:https://www.cnblogs.com/pylblog/p/7489649.html
Copyright © 2011-2022 走看看