首页 > 系统相关 >linux环境部署--Reids3.2.5

linux环境部署--Reids3.2.5

时间:2023-05-09 17:15:17浏览次数:48  
标签:Reids3.2 -- Redis redis 默认 echo loglevel linux 日志

linux环境部署--Reids3.2.5

redis-3.2.5.tar.gz 提取码:1999

1、进入/usr/local/src/目录

cd /usr/local/src/

2、下载Redis 3.2.5

wget http://download.redis.io/releases/redis-3.2.5.tar.gz

3、解压缩并进入文件夹

tar xzf redis-3.2.5.tar.gz

cd redis-3.2.5

4、编译Redis,命令make
5、执行下面的命令,解决Redis启动时候的Warning

echo 511 > /proc/sys/net/core/somaxconn

sysctl -w vm.overcommit_memory=1

echo never > /sys/kernel/mm/transparent_hugepage/enabled

6、创建日志的存放目录并设置到redis.conf

mkdir /var/log/redis

7、编辑redis.confvim redis.conf
# bind 127.0.0.1 #注释掉
requirepass xxx  #设置登录密码
loglevel debug   #日志等级
logfile /var/log/redis/redis.log #日志文件地址
daemonize yes    #守护线程启动
参数解释:

bind:可连接redis的ip地址,Reids3.2.5可缺省表示支持全部,高版本需要指定*才能为全部。

requirepass:登录密码验证。

loglevel:

日志等级
Redis的"loglevel"选项用于设置日志记录的详细程度,其值可以是以下之一:

debug:记录调试信息,包括Redis执行的每个命令和每个操作的详细信息。

verbose:记录详细信息,包括Redis执行的每个命令的名称和一些关键参数。

notice:记录通知信息,包括Redis的运行状态和一些重要的事件。

warning:记录警告信息,包括Redis的错误和异常情况。

error:记录错误信息,包括Redis的致命错误和不可恢复的异常情况。

默认情况下,Redis的"loglevel"选项设置为"notice",记录Redis的运行状态和重要事件。如果需要更详细的信息来调试或排除Redis问题,可以将"loglevel"选项设置为"debug"或"verbose"。需要注意的是,将"loglevel"选项设置为"debug"或"verbose"会增加日志文件的大小和系统资源的占用,可能会影响Redis的性能。因此,在正式环境中,应该将"loglevel"选项设置为"notice"或更高的级别来保护Redis的性能和安全。

可以在Redis的配置文件(redis.conf)中设置"loglevel"选项,也可以在Redis的命令行中使用"CONFIG SET"命令动态地修改"loglevel"选项的值。例如,要将"loglevel"选项设置为"debug",可以在命令行中执行以下命令:


CONFIG SET loglevel debug
或者在配置文件中添加以下行:

loglevel debug

logfile:日志文件地址

daemonize:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

pidfile: 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

port:指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字

timeout:当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

databases: 设置数据库的数量,默认数据库为0,数量16,可以使用SELECT 命令在连接上指定数据库id

save 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
    Redis默认配置文件中提供了三个条件:
    save 900 1
    save 300 10
    save 60 10000
    分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

rdbcompression:指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大

dbfilename:指定本地数据库文件名,默认值为dump.rdb

dir:指定本地数据库存放目录,默认./
  
slaveof 设置当本机为slav(从机)服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
    
masterauth 当master服务设置了密码保护时,slav服务连接master的密码

maxclients:设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息

maxmemory 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区

appendonly:指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no

appendfilename:指定更新日志文件名,默认为appendonly.aof

appendfsync:指定更新日志条件,共有3个可选值: 
    no:表示等操作系统进行数据缓存同步到磁盘(快) 
    always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) 
    everysec:表示每秒同步一次(折中,默认值)

8、设置redis日志切割

vim /etc/logrotate.d/redis

/var/log/redis/redis.log {
    weekly
    rotate 10
    copytruncate
    delaycompress
    compress
    notifempty
    missingok
}
9、安装Redis,执行make install
10、添加启动脚本,执行

vi /etc/init.d/redis
写入下面的代码,保存:

#!/bin/sh
#
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
 
PIDFILE=/run/redis_6379.pid
CONF="/usr/local/src/redis-3.2.5/redis.conf"
 
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        if [ "$?"="0" ] 
        then 
              echo "Redis is running..."
        fi 
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac
11、设置权限和开机启动:

chmod +x /etc/init.d/redis

chkconfig --add redis

chkconfig redis on

最后将redis加入到rc.local文件中,即在rc.local增加启动代码就可以了:

vim /etc/rc.local

/etc/init.d/redis start

启动Redis

启动redis使用service redis start 或者/etc/init.d/redis start

停止redis的命令service redis stop 或者/etc/init.d/redis stop

标签:Reids3.2,--,Redis,redis,默认,echo,loglevel,linux,日志
From: https://www.cnblogs.com/hwjShl/p/17385389.html

相关文章

  • AMD MPSoC PS PCIe 使用要点
    AMDMPSoCPSPCIe使用要点目录AMDMPSoCPSPCIe使用要点需求文档要点框图地址转换窗口地址转换地址转换窗口示例示例代码总体流程地址转换配置代码注意事项参考文档需求有客户需要通过PCie从Windows系统访问MPSoC的DDR,从而使X86和A53通过共享DDR内存的方式交互大量数据。X8......
  • CF1824B2 LuoTianyi and the Floating Islands (Hard Version) - 概率期望 - 树的重心
    题目链接:https://codeforces.com/contest/1824/problem/B2题解:考虑一棵\(n\)个点的树,假如已经选定了\(k\)个特殊点,如何判断某一个点是否为好点?显然将这个点提到根没有影响,那么好点的充要条件是对于所有子树的\(S_u\)值都\(\leqk/2\),这里\(S\)代表\(u\)子树中的特殊......
  • shell脚本发送多种curl命令
    foridin{1..5}dosh-c'curl-l-H"Content-type:application/json"-XPOST"http://127.0.0.1:8909/common/amethod?visitId=1874747&visitNum=1279367&paramCode=123"'&echo"\nstart$id:1"sh-c'......
  • 5. 字符串的相关操作和函数
    一.相关操作1.1字符串的拼接+var1="你好,"var2="世界"res=var1+var2print(res)运行结果1.2.字符串的重复*res1="="*3print(res1)运行结果1.3.字符串的跨行拼接\strvar="sadfsdafsdfklskldfjklsadfjklsjdklfsjkladfjksahdfjkshakdfhskladh......
  • 常用css
    单行省略/**强制不换行:white-space:nowrap;*超出隐藏:overflow:hidden*超出的文本显示省略号:text-overflow:ellipsis;*需要设置宽度*/.t-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;/*width:100%;*/}......
  • 周二
    问题描述:编写一个程序,实现字符串中的字符替换功能。假设给定一个字符串str,将其中的字符oldChar全部替换成newChar。请在不使用内置函数的前提下完成此任务。设计思路:本题可以采用字符串数组来存储字符串,通过循环字符串的每个字符,逐一判断是否为oldChar,如果是,则将其替换为......
  • vue sort 排序方法
    1、数据排序vararry=[9,5,6,7,5,6,3,1,0]arry.sort()//[0,1,3,5,5,6,6,7,9] 2、对象排序varlist=[{name:'张三',age:12},{name:'李四','age:23}];list.sort((a,b)=>{returna.age-b.age});//[{name:'李四','ag......
  • leetcode 1679
    1.排序双指针先排序sort(nums.begin(),nums.end());在双指针查找while(left<right){if(nums[left]+nums[right]<k){left++;}elseif(nums[left]+nums[right]>k){right--;}else{left++;right--;count++;}}2.......
  • opencascade下载安装
    安装要求(https://www.opencascade.com/components/cad-simplification-component/)下载地址:https://dev.opencascade.org/release截图如下(从https://dev.opencascade.org进,RESOURCES=>Download): 安装之后目录:《opencascade-7.7.0》文件夹:在环境变量中添加环境变量:DEvEnv......
  • Springboot-hbase增删改20230509
    1、启动 2、ZK客户端    3、springboot+hbase实例1)、pom<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&......