Redis的安装和部署
Posted clearriver
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis的安装和部署相关的知识,希望对你有一定的参考价值。
基本知识
1、Redis的数据类型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的独特之处:
(1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能
(2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构
3、持久化的两种方式:
Redis将数据存储于内存中,或被配置为使用虚拟内存。
实现数据持久化的两种方式:(1)使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)
(2)使用类似mysql的方式,记录每次更新的日志
4、Redis的主从同步:对提高读取性能非常有益
5、Redis服务端的默认端口是6379
安装redis 前先检查gcc环境:
$ gcc -v 使用内建 specs。 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper 目标:x86_64-redhat-linux 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux 线程模型:posix gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
如果没有gcc环境 ,可用yum install gcc 来安装:
[root@localhost ~]# yum install gcc Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package gcc.i386 0:4.1.2-51.el5 set to be updated --> Processing Dependency: cpp = 4.1.2-51.el5 for package: gcc --> Processing Dependency: libgomp >= 4.1.2-51.el5 for package: gcc --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc --> Processing Dependency: libgcc >= 4.1.2-51.el5 for package: gcc --> Running transaction check ---> Package cpp.i386 0:4.1.2-51.el5 set to be updated ---> Package glibc-devel.i386 0:2.5-65 set to be updated --> Processing Dependency: glibc-headers = 2.5-65 for package: glibc-devel --> Processing Dependency: glibc = 2.5-65 for package: glibc-devel --> Processing Dependency: glibc-headers for package: glibc-devel ---> Package libgcc.i386 0:4.1.2-51.el5 set to be updated ---> Package libgomp.i386 0:4.4.4-13.el5 set to be updated --> Running transaction check --> Processing Dependency: glibc = 2.5-49 for package: nscd ---> Package glibc.i686 0:2.5-65 set to be updated --> Processing Dependency: glibc-common = 2.5-65 for package: glibc ---> Package glibc-headers.i386 0:2.5-65 set to be updated --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers --> Processing Dependency: kernel-headers for package: glibc-headers --> Running transaction check ---> Package glibc-common.i386 0:2.5-65 set to be updated ---> Package kernel-headers.i386 0:2.6.18-274.el5 set to be updated ---> Package nscd.i386 0:2.5-65 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gcc i386 4.1.2-51.el5 base 5.2 M Installing for dependencies: glibc-devel i386 2.5-65 base 2.0 M glibc-headers i386 2.5-65 base 604 k kernel-headers i386 2.6.18-274.el5 base 1.2 M libgomp i386 4.4.4-13.el5 base 72 k Updating for dependencies: cpp i386 4.1.2-51.el5 base 2.7 M glibc i686 2.5-65 base 5.3 M glibc-common i386 2.5-65 base 16 M libgcc i386 4.1.2-51.el5 base 96 k nscd i386 2.5-65 base 169 k Transaction Summary ================================================================================ Install 5 Package(s) Upgrade 5 Package(s) Total download size: 34 M Is this ok [y/N]: y Downloading Packages:
接下来我们来安装Redis
1、先到Redis官网(redis.io)下载redis安装包
2、将其下载到我的/lamp目录下
3、解压并进入其目录
4、编译源程序
make
cd src
make install PREFIX=/usr/local/redis
5、将配置文件移动到redis目录
6、启动redis服务
7、默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
vim /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
8、客户端连接
/usr/local/redis/bin/redis-cli
9、停止redis实例
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、让redis开机自启
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
11、接下来我们看看/usr/local/redis/bin目录下的几个文件时什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
Redis的配置
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
redis-cli -h 127.0.0.1 -p 6379 -a ilanniredis
这条命令是说要连接redis服务器,IP是127.0.0.1,端口是6379,密码(requirepass)是ilanniredis。
keys *是查看redis所有的键值对。
set ilanni testredis添加一个键值ilanni,内容为testredis。
get ilanni查看ilanni这个键值的内容。
注: 当出现认证问题时候,输入“auth ‘ilanniredis’”即可
127.0.0.1:6379> auth "ilanniredis"
OK
12、配置外网访问
redis3.0 以上的版本默认启用了安全机制较高的防护模式(protected-mode)。
redis2.x 只需要 bind 0.0.0.0,并开放防火墙端口即可外网访问;而redis3.x版本需要在此基础上禁用防护模式。
# redis-cli // 进入redis命令行模式
xxxx:6379> CONFIG SET protected-mode no // 禁用防护模式
vi redis.conf #bind 127.0.0.1 #protected-mode yes protected-mode no
以上是关于Redis的安装和部署的主要内容,如果未能解决你的问题,请参考以下文章