设为首页 收藏本站
查看: 1349|回复: 0

[经验分享] 那点所谓的分布式——redis

[复制链接]

尚未签到

发表于 2015-7-19 12:55:45 | 显示全部楼层 |阅读模式
  
  日常开发中,总会接触到一些好玩的东西,比如这篇的redis,一说到redis,可能就有人跟memcache做比较了,是呀,
  memcache只能说是简单的kv内存数据结构,而redis支持的数据类型就丰富多了,当然最能让人看上眼的就是SortedSet。
  有了它,我们就可以玩一些“贪心”的问题,比如适合“贪心”的优先队列,说到优先队列,我们以前实现了仅仅是内存形式的,
  哎,内存毕竟是内存,当有海量数据的时候,最好能有一个序列化到硬盘的操作。。。恰恰这个场景redis就可以办到。。。
  一:快速搭建
  好了,我们知道redis比较适合做的事情了,现在我们可以进行快速搭建。
  第一步:下载redis-2.0.2.zip (32 bit)。然后改名为redis放在D盘中。
  
DSC0000.jpg
  最重要的也就是下面两个:
  redis-server.exe:        这个就是redis的服务端程序。
  redis-cli.exe:             服务端开启后,我们的客户端就可以输入各种命令测试了。
DSC0001.jpg
  从图中我们可以看到两点:
  ①:没有指定config file。
  原来redis建议我们做一个配置文件,那我就搞段配置。
DSC0002.jpg
  daemonize:  是否以“守护进程”的方式开启,当是守护进程的时候就不受控制台的影响了。
  logfile:         log文件位置。
  database:    开启数据库的个数。
  dbfilename:  数据快照文件名。
  save * *:     保存快照的频率,第一个为时间,第二个为写操作。
  将这些配置好后,我们再看看:
DSC0003.jpg
  ②:我们看到redis默认的开放端口为6379。
  
  二:安装驱动
  好了,redis已经搭建完毕了,现在我们就要用C#去操作redis,这也是我最渴望的功能,优先队列~,先下载C#驱动,
  就可以看到如下3个dll。
DSC0004.jpg
  最后我们做下小测试:



1     class Program
2     {
3         static void Main(string[] args)
4         {
5             var client = new RedisClient("127.0.0.1", 6379);
6
7             //最后一个参数为我们排序的依据
8             var s = client.AddItemToSortedSet("12", "百度", 400);
9
10             client.AddItemToSortedSet("12", "谷歌", 300);
11             client.AddItemToSortedSet("12", "阿里", 200);
12             client.AddItemToSortedSet("12", "新浪", 100);
13             client.AddItemToSortedSet("12", "人人", 500);
14
15             //升序获取最一个值:"新浪"
16             var list = client.GetRangeFromSortedSet("12", 0, 0);
17
18             foreach (var item in list)
19             {
20                 Console.WriteLine(item);
21             }
22
23             //降序获取最一个值:"人人"
24             list = client.GetRangeFromSortedSetDesc("12", 0, 0);
25
26             foreach (var item in list)
27             {
28                 Console.WriteLine(item);
29             }
30
31             Console.Read();
32         }
33     }
  AddItemToSortedSet: 第三个参数也就是我们要排序的依据,这也非常适合我们做topK的问题,非常爽~
DSC0005.jpg
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-88287-1-1.html 上篇帖子: Redis+Django(Session,Cookie)的用户系统 下篇帖子: Redis学习手册(Key操作命令)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表