zoukankan      html  css  js  c++  java
  • redis学习----Redis说明

    Redis 安装

    安装环境:Linux debian (deepin)
    软件包管理安装:

    sudo apt-get install install redis-server

    手动安装:
    由于Redis是用C语言编写的,手动安装首先需要保证有gcc编译器,如果没有可输入 sudo apt-get install gcc 命令来安装

    sudo wget http://download.redis.io/releases/redis-5.0.5.tar.gz
    sudo tar zxvf redis-5.0.5.tar.gz
    cp -r redis-5.0.5.tar.gz /usr/redis
    cd /usr/redis/redis-5.0.5.tar.gz
    sudo make
    sudo make install

    安装完成后redis就会在 /usr/redis/redis-5.0.5.tar.gz 路径中。安装完后是没有配置文件的,我们需要将配置文件复制到 /usr/redis 路径中。

    启动Redis

    上面描述了Redis的两种安装方式,我们在使用Redis时,如果是用软件包安装的话,可以使用service redis-server start 的方式来启动redis
    若使用的是第二种使用方式的话,我们需要进入到刚刚安装的目录下,运行redis-server文件启动服务端,运行redis-cli启动客户端。

    Redis 配置文件

    Redis 的配置文件为redis.conf文件,如果您的redis是手动安装的话需要将redis的配置文件复制到您的安装目录。
    由于本人是用deb软件包管理安装的redis,所以需要到etc/redis目录中找到redis.conf文件
    如果使用的是第二种方式安装的,启动的时候需要带上配置文件地址

    配置说明

    • daemonize no #Redis守护进程配置
    • pidfile /var/run/redis.pid #将进程写入到指定的文件
    • port 6379 #指定Redis监听端口,默认是6379
    • bind 127.0.0.1 #绑定的主机地址默认绑定本机
    • timeout 300 #当客户端闲置多长时间后关闭连接,如果指定为0表示关闭该功能
    • loglevel verbose #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、waring
    • logfile stdout #日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
    • databases 16 #设置数据库的数量,默认为0.可以使用select (dbid) 命令在连接上指定数据库id
    • save (seconds) (changes) #指定在多上时间内,有多少次更新操作,就将数据库同步到数据库文件,可以多条件配合,Redis中默认提供三个条件:1.save 9001 2.save 300 10 3.save 60 10000
    • rdbcompression yes #指定存储至本地数据时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间可以关闭该选项,但是会到时数据库文件巨大
    • dbfilename dump.rdb #指定本地数据库文件名,默认值为 dump.rdb
    • dir ./ 指定本地文件存放目录
    • saveof (masterip) (masterport) #设置当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
    • masterauth (master-password) #当master服务设置了密码保护时,slave服务链接master的密码
    • requirepass foobared #设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH (password)命令提供密码,默认关闭。若设置后链接需要使用redis-cli -a password。若需要远程登录需使用redis-cli -h host -p port -a password。
    • maxclients 128 #设置同一时间最大客户端连接数,默认无限制,设置maxclients 0表示不作限制。当客户端链接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误
    • maxmemory (byte) #指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,到达最大内存后,Redis会先尝试清除已到期或即将到期的key,当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作,Redis新的vm机制,会把key存放内存,Value会存放在swap分区

    Redis宕机一般解决方案

    Redis是一款优秀的中间缓存件,时常会存储大量的数据,如果数据一直新增,内存很快就会占满。

    解决方案

    • 微数据设置超时时间 (具体设置方案需要更具服务器的配置来)
    • 采用LRU算法动态将不用的数据删除。使用这些策略是当内存超过maxmemory限定时会主动触发。具体算法详情见 https://www.jianshu.com/p/afb440a48aba
  • 相关阅读:
    黑板客爬虫闯关 代码
    新浪云SAE搭建python环境 问题拾遗
    关于python中的字符串编码理解
    linux环境中使用转义字符使命令行字符颜色高亮
    python中list作为全局变量无需global声明的原因
    获取youku视频下载链接(wireshark抓包分析)
    改变linux默认配色方案(dircolors和dircolors-solarized使用)
    限流常规设计和实例
    连接池-Mybatis源码
    Transaction-Mybatis源码
  • 原文地址:https://www.cnblogs.com/bananafish/p/10936513.html
Copyright © 2011-2022 走看看