Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
在分布式中,Redis的队列性特别好用,被用例作为分布式的基石。在我个人的应用中是使用Redis实现高并发的数据访问。
Windows下安装
Redis支持32位和64位,根据个人系统平台的实际情况选择。
下载地址:https://github.com/microsoftarchive/redis/releases(注意下载zip压缩包)
安装后放在文件夹D:\Redis中,打开cmd,把目录指向解压的Redis目录。输入redis-server redis.windows.conf,出现下图情况表示启动成功。
将Redis以windows Service的方式启动,虽然上一个步骤启动了Redis,但是只要一关闭cmd窗口,Redis就会消失。所以要把Redis设置成Windows服务。重新打开cmd窗口,进入Redis目录,输入命令redis-server --service-install redis windows-service.conf --loglevel verbose
输入命令后没有错误,表示安装成功。打开Windows中的“服务”窗口,可以看到Redis服务网。
启动redis服务,在刚刚的cmd窗口中输入命令redis-server --service-start表示启动服务。出现Redis service succeessfully started的提示,就表示服务启动成功。
同样,输入redis-server --service-stop停止服务。
其中遇到过这样的问题:键入命令redis-server --service-start后,有报错# HandleServiceCommands: system error caught. error code=1056, message = StartService failed: unknown error
这是可能在你不经意间启动了两次redis服务,解决方法很简单,先stop命令然后再start
修改Redis配置
在默认的情况下,访问Redis服务器是不需要密码的,为了增加安全性,我们需要设置Redis服务器的访问密码。这里设置为redisredis
打开Redis文件夹中的redis.windows.conf文件,在其中取消注释requirepass,将其变量值设置为redisredis(注意:不是redis.windows-service.conf!!!)
在默认情况下,redis服务器不允许被远程方文,只允许本机访问,所以需要设置打开远程访问的功能。仍在刚才的conf文件中注释band变量
修改后,可以尝试使用本机的ip地址加上访问密码访问Redis服务器。本机的ip地址可以通过cmd中的ipconfig命令获取。在cmd中键入:redis-cli -a redisredis -h 【你的ip地址】 -p 6379。如果可以正常访问,表示Redis远程访问成功。