Linux下redis数据库的简单使用

Redis (1.9万) 2017-03-08 09:04:38

一、redis简介

Redis是一个key-value存储系统。和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、 sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的。

二、redis的安装

首先从在官网下载redis源码安装包,下载地址:https://github.com/antirez/redis.git
目前最新分支为3.2

[root@tiejiang01 ~]# git clone -b 3.2  https://github.com/antirez/redis.git
下载完成之后进入redis目录,编译安装直接是
[root@tiejiang01 redis]# make
[root@tiejiang01 redis]# make install

如果安装提示下面报错,可以执行一下:make distclean
[root@localhost redis-3.2.0]# make  
    cd src && make all  
    make[1]: Entering directory `/opt/redis-3.2.0/src'  
        CC adlist.o  
    在包含自 adlist.c:34 的文件中:  
    zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录  
    zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"  
    make[1]: *** [adlist.o] 错误 1  
    make[1]: Leaving directory `/opt/redis-3.2.0/src'  
    make: *** [all] 错误 2
编译安装完成直接运行  
redis-server就可以启用redis服务,可以用netstat命令查看redis监听的端口(默认是6379)
[root@tiejiang01 redis]# redis-server

Linux下redis数据库的简单使用 (https://www.tiejiang.org/) Redis 第1张redis服务起来之后我就可以进行相应的测试看数据库是否安装成功:

redis服务起来之后我就可以进行相应的测试看数据库是否安装成功:
在命令行输入redis-cli启用redis客户端,输入一下命令测试redis是否安装成功

[root@tiejiang01 ~]# redis-cli 
    127.0.0.1:6379》 PING
    PONG
    127.0.0.1:6379》 set test hello
    OK
    127.0.0.1:6379》 get test
    "hello"
    127.0.0.1:6379》 
    
更多redis命令请参考redis命令手册,这上面详细介绍了redis-cli各种命令的用法
http://doc.redisfans.com/
至此,redis数据库安装完成

三、移动配置文件位置(为了便于管理)

[root@tiejiang01 ~]# cd /usr/local/
[root@tiejiang01 local]# mkdir -p /usr/local/redis/bin
[root@tiejiang01 local]# mkdir -p /usr/local/redis/etc
[root@tiejiang01 local]# mv /root/redis/redis.conf /usr/local/redis/etc/
[root@tiejiang01 local]# cd /root/redis/src/
[root@tiejiang01 src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
[root@tiejiang01 src]# vi /usr/local/redis/etc/redis.conf
    daemonize no   更换为   daemonize yes

四、启动随机启动

[root@tiejiang01 src]# cd /usr/local/redis/bin/
[root@tiejiang01 bin]# ./redis-server /usr/local/redis/etc/redis.conf &
[root@tiejiang01 bin]# vi /etc/rc.loca      #在最下面添加这一行
    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
[root@tiejiang01 bin]# ps -ef | grep 6379       #查看6379端口是否启动了
    root      2067  1980  0 13:50 pts/0    00:00:00 redis-server 127.0.0.1:6379  
    root      2106  2003  0 14:00 pts/1    00:00:00 grep 6379
[root@tiejiang01 bin]# cd /usr/local/redis/bin/
[root@tiejiang01 bin]# ./redis-cli      #进入客户端
[root@tiejiang01 bin]# pkill redis-server       #关闭redis

五、redis的安全性

1.用ACL控制器安全性。
2.在redis.conf配置文件增加下面这一行配置,即可把redis绑定在单个接口上(但并不是只有接受这个网卡的数据)。
    bind 127.0.0.1
3.给redis加上较长密码(无需要记住)
4.在redis.conf配置启用认证功能。
5.SSL代理
6.禁用指定命令。

六、Redis配置

daemonize       如果需要在后台运行,把该项改为yes  
pidfile         配置多个pid的地址 默认在/var/run/redis.pid
bind            绑定ip,设置后只接受来自该ip的请求
port            监听端口,默认为6379
timeout         设置客户端连接时的超时时间,单位为秒
loglevel        分为4级,debug、verbose、notice、warning
logfile         配置log文件地址
databases       设置数据库的个数,默认使用的数据库为0
save            设置redis进行数据库镜像的频率
rdbcompression  在进行镜像备份时,是否进行压缩
Dbfilename      镜像备份文件的文件名
Dir             数据库镜像备份的文件放置路径
Slaveof         设置数据库为其他数据库的从数据库
Masterauth      主数据库连接需要的密码验证
Requirepass     设置登录时需要使用的密码
Maxclients      限制同时连接的客户数量
Maxmemory       设置redis能够使用的最大内存
Appendonly      开启append only模式
以下了解即可:   
Appendfsync                 设置对appendonly.aof文件同步的频率
vm-enabled                  是否开启虚拟内存支持
vm-swap-file                设置虚拟内存的交换文件路径
vm-max-memory               设置redis使用的最大物理内存大小
vm-page-size                设置虚拟内存的页大小
vm-pages                    设置交换文件的总的page数量
vm-max-threads              设置VM IO同时使用的线程数量
Glueoutputbuf               把小的输出缓存存放在一起
hash-max-zipmap-entries     设置hash的临界值
Activerehashing             重新hash
THE END

发表评论