1.安装
找了许多windows版本的,下载下来都发现没有redis-server.exe这个文件,最后终于找到个没问题的地址(文件有点大,因为包含了好几个版本的redis):
https://github.com/ServiceStack/redis-windows
2.测试及Java例子
参考:http://my.oschina.net/lujianing/blog/204103
需要补充的是上面网址提供的实例中,还要引入junit:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
</dependency>
另外文章到最后说测试redis没有细说,怎么使用命令,其实也简单,我也是猜一下就知道了,例如:
set name 张三
get name
具体命令参考:http://doc.redisfans.com/
3.添加访问密码(下面说的是linux,windows也差不多的)
你的redis在真实环境中不可以谁想访问就访问,所以,必须要设置密码。
设置密码的步骤如下:
修改redis.conf文件配置
root@ubuntu:/usr/local/redis-2.4.14#vim redis.conf
# requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为123456
requirepass123456
启动服务
root@ubuntu:/usr/local/redis-2.4.14#./src/redis-server redis.conf
客户端连接
naxsu@ubuntu:/usr/local/redis-2.4.14$./src/redis-cli
redis 127.0.0.1:6379> get a
(error) ERR operation notpermitted
redis 127.0.0.1:6379>
提示没有权限
naxsu@ubuntu:/usr/local/redis-2.4.14$./src/redis-cli -a 123456
redis 127.0.0.1:6379> get a
"b"
到此说明设置密码有效了。
4.设置随机启动(说的是linux,windows的话做成service在后面设置自启动即可)
在服务器上,你每次重启机器后再去启动redis的服务,这是很麻烦的,所以将Redis作为 Linux 服务随机启动是很有必要的。
修改/etc/rc.local文件
root@ubuntu:/usr/local/redis-2.4.14#vim /etc/rc.local
在最后加入下面一行代码
./usr/local/redis-2.4.14/src/redis-server/usr/local/redis-2.4.14/redis.conf
重启机器看看效果
根据我的测试,设置是成功的。
5.什么时候使用redis?
下面这个感觉不是说什么时候使用redis,而是在说redis部分实现及使用:
http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html
下面这个才是说使用场景:
http://www.ttlsa.com/redis/redis-the-author-talks-about-redis-application-scenario/
http://database.51cto.com/art/201504/471158.htm(和上面有重复,都可以看下吧)
6. Redis是写入到内存,满足一定条件(比如一分钟写入了xx个)才会写入到硬盘。那么,请问如何才可以避免因为突然断电/系统死机等突发情况而丢失数据呢?
a.主从是必须的,不过现在redis的proxy还不稳定,主从异常还得手工切换
b.持久化,根据数据变化频率和数据量,调整持久化参数,选择RDB或者AOF做持久化(http://my.oschina.net/davehe/blog/174662)
c.如果是做缓存,最好是能从业务中重建的。可以通过分批次恢复业务来解决雪崩问题
d.不让服务器断电:加不间断电源UPS,或多家冗余电源线路
e.垂直切分一下,在弄个slave做热备
7.主从配置
看了一下配置很简单,直接参考别人的文章就可以了:
http://www.cnblogs.com/stephen-liu74/archive/2012/02/23/2364717.html
http://www.cnblogs.com/tankaixiong/articles/4024089.html
这个也可以看看:
http://www.open-open.com/lib/view/open1431510137076.html
8.redis能否代替我们传统的关系型数据库?
看了一下网上一些帖子,感觉还是看具体情况,如果用AOF做持久化,性能会下降,到时候还不如用MySQL,目前我觉得还是辅助着用好点,做缓存,把一些常用的数据,如网站首页数据放到Redis中加快查询。其实看上面提到的应用场景也能体会到主要还是做常用数据的缓存工作。我也不是太懂,不敢妄下定论,至于怎么用大家自己看着办吧。
9.最后
感觉Redis搭建测试环境非常简单,后面希望能找机会在项目中实践一下,我觉得怎么设计自己的Redis数据结构,怎么用它才是关键,先告一段落吧。