学习背景
今天是2015年1月2日,新年刚开始的第二天,先祝大家元旦快乐啦(迟到的祝福吧^_^)。前段时间一直写Jquery插件开发系列博文,这个系列文章暂停一段时间,最近一直在看redis,我将把redis作为一个系列写一下我的学习历程。正好现在项目中使用了redis,本着学习探索的精神,准备写一下我对redis的一个学习历程和自己的一点感悟。在学习过程中也走了很多弯路,希望能对看这篇博文的朋友们带来点帮助。也算是写这边博文的最大目的了。
我在认识redis之前没有接触过任何NoSql思想。对NoSql的了解也仅仅限于道听途说,听得我是云里雾里啊。当时我也不以为然,认为现有的存储方式已经能满足“所有”需求了,无需使用那些“所谓”的新产品吧。在此,我对当时的无知感到羞愧。所以,要相信实物存在就说明有它存在的道理和需要。况且对于程序猿来说,nosql是如此的好。
有些知识不是靠听别人说,或是看一两篇文章就能深入理解的。因为你看的东西或是项目中用的知识可能都是别人“咀嚼”过的,都不是原生态的知识了。如果你想对这项知识有深入了解,必须自己从头开始,一点一点搭建属于自己的知识库。那样,知识才属于你的。下面是我对redis认知的介绍。
redis 介绍
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
定义:redis是一个key-value存储系统。和Memcached类似,Redis不仅仅支持简单的k/v类型的数据,同时还提供list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)等存储方式。它支持存储的value类型相对更多。这些数据类型都 支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文 件,并且在此基础上实现了master-slave(主从)同步。(来自百度百科)
在此我就不多介绍两者的区别了,后面的文章我会补上。现在很多大型企业项目也都应用redis做缓存处理,如新浪微博、Github、StackOverflow 等。Redis的官网为http://redis.io/。
redis的操作命令很多很多,我就不一一介绍了,提供个学习网站http://www.redis.cn/documentation.html,有兴趣的朋友可以看看。
安装 redis 服务器端和客户端
先下载并安装redis。通过https://github.com/mythz/redis-windows这里可以直接下载,然后解压,再解压得到以下截图文件:
1.1 简单介绍下里面部分文件:
1.2 开启redis服务器和客户端
1.2.1 先打开cmd命令,选择到redis-server.exe的目录,运行 redis-server.exe redis.conf(这样就开启了redis服务端,如下图:),红色区域的Accepted 127.0.0.1:11796表示有客户端连接到该redis服务器上。
1.2.2 重新打开一个cmd窗口,使用cd命令切换到指定目录,运行 redis-cli.exe -h 127.0.0.1 -p 6379,其中 127.0.0.1是本地ip,6379是redis服务端的默认端口。并且我还做个测试数据,看下图红色下划线的city。(这样就开启了客户端)
到这里redis的客户端和服务器端基本算是完成了。可以通过客户端测试一下各种命令了^_^。当然,我们不能仅仅满足于此,我们的目标是实现在.NET4.5 中完成对redis的操作。接下来我将阐述一下redis在.NET中的使用。里面有好几个地方需要注意哦,相信使用.NET4.0 和 .NET4.5的同仁们都有遇到的问题。详情见下篇博文。
1.3 安装windows redis服务
上面是通过cmd命令去安装redis服务器,其实可以直接下载一个安装软件redis-2.4.6-setup-64-bit.exe (我是64位操作系统)即可,版本很多,按自己需要下载。按照步骤安装下去就好了。很简单。下图是是安装好的windows redis服务。开启即可。^_^
redis 安装总结
redis的安装就这么点内容,需要注意的是,在使用时候redis服务端必须一直运行着(所以就做成windows服务最好了,哈哈)。对于熟悉cmd命令的很简单,不会的,百度下也很简单。redis开发的前期算是准备好了,下一篇是关于.NET4.5使用redis,并且有一些需要注意的地方。到时候慢慢说来。
redis的核心很深奥,我还有许多东西需要去研究。希望大神们能不吝赐教。同时也希望和我一样,在研究路上的同仁,有好的见解或是资料能跟小弟分享下,大家一起探讨学习下。我的QQ联系方式:296319075 随时联系,备注注明园友就好。大家秉承共同探讨、共同进步!如有转载,请注明出处,谢谢!^_^
还有,如果大家不想下载redis的安装包,可以说下,我会把自己用的放到网盘中或者通过QQ等其他方式发给需要的你。网盘地址:http://pan.baidu.com/s/1pJkckEB