肤浅的探讨一下Redis高深跑路

那点所谓的分布式——redis

日常开发中,总会接触到一些好玩的东西,比如这篇的redis,一说到redis,可能就有人跟memcache做比较了,是呀,

memcache只能说是简单的kv内存数据结构,而redis支持的数据类型就丰富多了,当然最能让人看上眼的就是SortedSet。

有了它,我们就可以玩一些“贪心”的问题,比如适合“贪心”的优先队列,说到优先队列,我们以前实现了仅仅是内存形式的,

哎,内存毕竟是内存,当有海量数据的时候,最好能有一个序列化到硬盘的操作。。。恰恰这个场景redis就可以办到。。。

一:快速搭建

好了,我们知道redis比较适合做的事情了,现在我们可以进行快速搭建。

第一步:下载redis-2.0.2.zip (32 bit)。然后改名为redis放在D盘中。

最重要的也就是下面两个:

redis-server.exe:        这个就是redis的服务端程序。

redis-cli.exe:             服务端开启后,我们的客户端就可以输入各种命令测试了。

从图中我们可以看到两点:

①:没有指定config file。

原来redis建议我们做一个配置文件,那我就搞段配置。

daemonize:  是否以“守护进程”的方式开启,当是守护进程的时候就不受控制台的影响了。

logfile:         log文件位置。

database:    开启数据库的个数。

dbfilename:  数据快照文件名。

save * *:     保存快照的频率,第一个为时间,第二个为写操作。

将这些配置好后,我们再看看:

②:我们看到redis默认的开放端口为6379。

二:安装驱动

好了,redis已经搭建完毕了,现在我们就要用C#去操作redis,这也是我最渴望的功能,优先队列~,先下载C#驱动

就可以看到如下3个dll。

最后我们做下小测试:

 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的问题,非常爽~

时间: 2024-10-05 17:21:30

肤浅的探讨一下Redis高深跑路的相关文章

又一次redis被删库跑路,索要0.6比特币

还在和媳妇儿逛街,突然同事打来电话说redis库被清空. 于是,媳妇儿说你真是乌鸦嘴,早上还说redis如何被提权的事情. 怎么刚出来就碰上了? 会不会是你搞的? 于是无形中又背锅了. 见×××姐如此着急,边安慰,边提醒让同事查一下,是什么时候发生的事情,受害面积有多大? 但是×××姐很镇静的说,不可以啊,我们ucloud云商上的redis的机器,是禁止外网登录的,所有外网的6379端口都被禁用了. 仅限本机登录,于是,我问你有加密码嘛?×××姐说,便于程序研发效率,内网环境,自然就没有加密码.

Redis——学习之路四(初识主从配置)

首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务器配置如下: 1.先找到配置redis.windows-service.config文件修改port 6379 为port 6380 2.然后配置master服务器地址:slaveof 127.0.0.1 6379,然后主服务有密码还需要配置密码 masterauth CeshiPassword(本

luogu P1613 跑路

P1613 跑路 2017-09-17 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数).当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米.小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米.小A想每天能醒地尽量晚,所以让你帮他算算,他最少需要

P1613 跑路

P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数).当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米.小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米.小A想每天能醒地尽量晚,所以让你帮他算算,他最少需要几秒才能到公司.数据保

Redis——学习之路三(初识redis config配置)

我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. 我们就从上到下来理解一下这些配置信息中的某些配置: 1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb.我可以在安装目录文件夹下找到这个文件. 2.requirepass是密码,即连接服务器的密码,默认为空.下面我来设置一个密码然后用带密码的命令连接一遍. 3.msterauth

TM4C123G红外触摸屏:开发板好不容易实现了原理,放到专家设计的板子上无法运行,于是专家跑路项目黄了

使用TI的TM4C123G LaunchPad开发板,USB接口,来对同样的芯片进行烧写. 我们只用烧写那一块功能,不用另外一个芯片的开发功能,需要跳线 源码项目: 从官方网站TM4C123G,下载这个板的驱动.烧写程序.工程项目. LMFlashProgrammer.msi  装完就有烧写程序.驱动和项目了 SW-TM4C-2.0.1.11577.exe ,TivaWare_C_Series-2.0.1.11577项目,examples\boards\ek-tm4c123gxl为我们使用的芯片

估值十亿美元、1.5亿用户,公司CEO却跑路了

转载这篇文章是觉得配图非常好玩的,文章的真实性有待证明 说到配图比较搞笑的推荐一个订阅号就是西乔的 "神秘的程序员们" 目前拥有1.5亿用户.2004年收益3600万美元的.曾经拥有高口碑产品的Evernote,却正在把一手好牌打烂,距离IPO越来越远,屡屡被业界唱衰. "独角兽公司"是指那些估值达到10亿美元的创业公司,其中的当红炸子鸡就有Facebook.Uber.YouTube.Airbnb等等,Evernote(中文版叫"印象笔记")也在

BFC---任性跑路的布局1

Block Formatting Context (块格式化上下文)简称:BFC:它是W3C CSS 2.1 规范中的一个概念,格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等: 要知道为什么会跑路,首先便了解BFC的布局规则: ☆ BFC布局规则 内部的Box会在垂直方向,一个接一个地放置. Box垂直方向的距离由margin决定.属于同一个BFC的两个相邻Box的margin会发生重叠 每个元素的margin box的左边, 与包含块border bo

洛谷跑路

跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数).当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米.小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千米.小A想每天能醒地尽量晚,所以让你帮他算算,他最少需要几秒才能到公司.数据保证1到n至少