redis:非关系型数据库,内存数据库,no-sql典型
redis环境部署redis安装:
1、解压安装包:
[root@zhoucentos servers]# unzip redis-2.4.zip
2、进入到redis安装包目录下
[root@zhoucentos redis-2.4]# pwd
/export/servers/redis-2.4
3、[root@zhoucentos redis-2.4]# make
4、[root@zhoucentos redis-2.4]# make install
5、[root@zhoucentos redis-2.4]# ll
总用量 88
-rw-r--r--. 1 root root 13382 11月 29 2012 00-RELEASENOTES
-rw-r--r--. 1 root root 55 11月 29 2012 BUGS
drwxr-xr-x. 2 root root 4096 12月 11 19:12 conf
-rw-r--r--. 1 root root 671 11月 29 2012 CONTRIBUTING
-rw-r--r--. 1 root root 1487 11月 29 2012 COPYING
drwxr-xr-x. 5 root root 4096 11月 29 2012 deps
-rw-r--r--. 1 root root 30 11月 29 2012 INSTALL
-rw-r--r--. 1 root root 397 11月 29 2012 Makefile
-rw-r--r--. 1 root root 2813 11月 29 2012 README
-rw-r--r--. 1 root root 21759 11月 29 2012 redis.conf
-rwxr-xr-x. 1 root root 162 11月 29 2012 runtest
drwxr-xr-x. 2 root root 4096 12月 11 18:10 src
drwxr-xr-x. 8 root root 4096 11月 29 2012 tests
drwxr-xr-x. 2 root root 4096 11月 29 2012 utils
在redis目录下新建conf目录:
[root@zhoucentos redis-2.4]# mkdir conf
6、将redis.conf拷贝到conf目录下:
[root@zhoucentos redis-2.4]# cp redis.conf ./conf/
7、进入conf目录下,拷贝redis.conf:
[root@zhoucentos conf]# cp redis.conf 6379.conf(一般以redis实例的端口号命名区分conf文件)
如果是多个端口就直接拷贝即可:
[root@zhoucentos conf]#cp redis.conf 6380.conf
[root@zhoucentos conf]#cp redis.conf 6381.conf
[root@zhoucentos conf]# ll
总用量 84
-rw-r--r--. 1 root root 21763 12月 11 18:45 6379.conf
-rw-r--r--. 1 root root 19 12月 11 18:54 6379.rdb
-rw-r--r--. 1 root root 21763 12月 11 19:05 6380.conf
-rw-r--r--. 1 root root 10 12月 11 19:12 6380.rdb
-rw-r--r--. 1 root root 21753 12月 11 19:11 6381.conf
-rw-r--r--. 1 root root 10 12月 11 19:12 6381.rdb
redis多实例配置:
改port,第二(N)个实例修改为其他的端口
查找daemonize选项,添加yes
注释三行save选项,注释代表不开持久化
dbfilename dump.rdb:每个实例配置的rdb文件名应该不一样,这里改为dbfilename6379.rdb(6380.conf,6381.conf实例类似)
9、启动redis-server:在redis的conf目录下,启动redis-server命令即可,redis-server ./6379.conf
10、通过redis的客户端查看数据:在任意目录下,redis-cli -p 6379,就可以进入到对应的redis实例里
11、常用命令
dbsize:查看redis中的kv数量
keys *:查看redis中所有的key
set key_1 v_1:新增一个key_1,包含v_1
get key_1:查看key_1中的内容
del key_1:删除key_1
quit:退出
flushdb:清空redis中的数据
save:将当前redis中的所有数据持久化到文件中,文件路径和文件名(dbfilename dump.rdb)在redis.conf里配置
save之后 在conf目录下ll命令就会看到dump.rdb文件
12、redis的数据一断电就会清空,经常测试的时候会用‘save’持久化数据,但是实际项目中,会配置主从关系的redis进行数据持久化:
在从redis的6381.conf文件中,配置上slaveof 127.0.0.1(主机redis的IP)6380(主)
这里 6381是 从redis,6380是 主redis
这样配置好主从关系的redis后,主redis的数据都会自动在从redis做备份,数据就不会丢失。
redis多实例情况下,数据缓存在哪个redis里呢?通过id取余,如果为0 就取第一个redis实例,如果取余为1就取第二个redis实例,依次类推,取数据也按此算法。