美文网首页
redis 安装配置

redis 安装配置

作者: aoshi | 来源:发表于2017-05-13 12:03 被阅读0次

    安装学习博客地址:
    http://www.cnblogs.com/it-cen/p/4295984.html
    http://blog.csdn.net/haniyan/article/details/23122487

    redids下载地址
    windows: https://github.com/MSOpenTech/redis/releases
    linux : http://redis.io

    php-redis下载地址
    windows : https://pecl.php.net/package/redis
    linux:yum -y install php-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
    

    新手安装步骤

    1、先到Redis官网(http://redis.io)下载redis安装包 
        wget http://download.redis.io/releases/redis-3.2.8.tar.gz
    
    2.  在  /opt/目录下新建目录 redis/
         创建压缩包目录,并将安装包放到移动到redis目录
         创建redis安装目录&修改目录权限766
         编译&安装
    
    cd /opt
    mkdir/redis
    cd redis
    mkdir redis_tar
    cd redis_tar
    wget http://download.redis.io/releases/redis-3.2.8.tar.gz
    tar -zxvf redis-3.2.8.tar.gz
    ls
    见图1
    
    
    cd ..
    mkdir redis_online       <=>   /opt/redis/redis_online
    chmod 766 redis_online
    
    cd /opt/redis/redis-3.2.8/
    make
    cd src
    make install PREFIX=/opt/redis/redis_online
    (如果报错,使用下面方式安装)
    make MALLOC=libc
    cd src
    make install PREFIX=/opt/redis/redis_online
    
    3.将安装包里的配置文件移动到安装目录下的etc目录(如果没有etc目录,新建)
    mkdir /opt/redis/redis_online/etc
    cp /opt/redis/redis_tar/redis-3.2.8/redis.conf /opt/redis/redis_online/etc/redis.conf
    
    4.配置redis启动配置文件
    

    bind 127.0.0.1 绑定允许访问的IP 允许任意IP访问,需要注释掉
    protected-mode yes 保护模式,允许外部IP访问时,需要改为no
    daemonize yes 后台运行(以守护进程运行)

    
    5.启动redis
    /opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
    前面是启动redis服务器,后面是指定启动配置文件
    见图2
    
    6.默认情况,redis不是在后台运行,我们使用时要把redis放到后台运行
    vim /opt/redis/redis_online/etc/redis.conf
    将daemonize的值改为yes  (以守护进程运行)
    
    7.重启redis
    /opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis.conf
    
    8.客户端连接
    /opt/redis/redis_online/bin/redis-cli
    见图3
    
    9、停止redis实例
      /usr/local/redis/bin/redis-cli shutdown
      或者
      pkill redis-server
    10、让redis开机自启
      vim /etc/rc.local 加入 /opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf
          或者
          echo "/opt/redis/redis_online/bin/redis-server /opt/redis/redis_online/etc/redis-conf" >> /etc/rc.local
    11、接下来我们看看/usr/local/redis/bin目录下的几个文件时什么
      redis-benchmark:redis性能测试工具
      redis-check-aof:检查aof日志的工具
      redis-check-dump:检查rdb日志的工具
      redis-cli:连接用的客户端
      redis-server: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同时使用的线程数量
    
    

    图1


    image.png

    图2


    image.png

    图3


    image.png

    安装&使用QA

    遇到问题
    1./bin/sh: cc: command not found   make[1]: *** [adlist.o] Error 127
    原因:
    gcc是用来编译各种源代码的软件,所谓GCC包,就相当于安装GCC的安装包啦,类似[WIN]下的setup.exe
    然后[RPM]是不需要GCC就可以装的
    不过[TAR]都是[源代码],你得自己编译才能装,所以一定要装GCC,不然无法装
    哪里有GCC…好问题!gcc.gnu.org不过我认为,正常的[LINUX]发行版都有自己的程序管理软件,你进管理软件搜索GCC,应该就可以装了至于看有没有GCC,去/usr/[bin]下,如果有GCC这个文件,说明你有装。没有说明没装。
    解决办法: A/B两种方法都可以解决,B方法安装的类库更多
    A:  yum -y install gcc
    B:  yum -y install gcc gcc-c++ libstdc++-devel
    
    Q: 安装redis 报错
    #make
    cd src && make all
    make[1]: Entering directory `/software/redis-2.8.8/src'
        CC adlist.o
    In file included from adlist.c:34:
    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
    zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/software/redis-2.8.8/src'
    make: *** [all] Error 2
    
    原因:  不知道
    
    A:
    make MALLOC=libc  
    
    
    
    Q:
    # make test
    cd src && make test
    make[1]: Entering directory `/software/redis-2.8.8/src'
    You need tcl 8.5 or newer in order to run the Redis test
    make[1]: *** [test] Error 1
    make[1]: Leaving directory `/software/redis-2.8.8/src'
    make: *** [test] Error 2
    
    
    

    A:安装tcl
    ubuntu apt-get install ctl
    centos yum -y install ctl

    A.修改配置文件目录
    mkdir /etc/redis
    cp redis.conf /etc/redis/redis.conf

    
    redis使用命令
    

    //设置变量
    set test1 1
    set test2 abc

    //获取变量
    get test1
    get test2

    相关文章

      网友评论

          本文标题:redis 安装配置

          本文链接:https://www.haomeiwen.com/subject/jxjztxtx.html