设为首页 收藏本站
查看: 1494|回复: 0

[经验分享] Redis的安装和部署

[复制链接]

尚未签到

发表于 2017-6-9 10:29:17 | 显示全部楼层 |阅读模式
  基本知识
  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 来安装:



[iyunv@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安装包
DSC0000.png

  2、将其下载到我的/lamp目录下
  3、解压并进入其目录
DSC0001.png

  4、编译源程序
  make
  cd src
  make install PREFIX=/usr/local/redis
  5、将配置文件移动到redis目录
DSC0002.png

  6、启动redis服务
DSC0003.png

  7、默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
  vim /usr/local/redis/etc/redis.conf
  将daemonize的值改为yes
DSC0004.png

  8、客户端连接
  /usr/local/redis/bin/redis-cli
DSC0005.png

  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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-385483-1-1.html 上篇帖子: 虚拟机、linux系统安装 下篇帖子: 在linux中 部署 mongo 数据库服务端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表