Redis入门
一、安装
目前,官方最新稳定版本为3.0.7
# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
# cd /usr/local/
# tar xvf /root/redis-3.0.7.tar.gz
# cd redis-3.0.7/
# make
二、启动
安装完成后,在src目录下会生成启动执行程序,包括redis-server,redis-sentinel, redis-benchmark,redis-cli等
# src/redis-server
该启动方式是前台启动,如果关闭当前终端,则redis会自动关闭
正如登录信息开头Warning所显示的,这种方式启动没有使用配置文件,所以并不推荐。默认监听6379端口
24649:C 03 Feb 16:32:30.242 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf 24649:M 03 Feb 16:32:30.243 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.0.7 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 24649 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 24649:M 03 Feb 16:32:30.246 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 24649:M 03 Feb 16:32:30.246 # Server started, Redis version 3.0.7 24649:M 03 Feb 16:32:30.246 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 24649:M 03 Feb 16:32:30.246 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 24649:M 03 Feb 16:32:30.247 * The server is now ready to accept connections on port 6379
关于redis-server的更多用法,可通过redis-server -h查看
# src/redis-server -h
Usage: ./redis-server [/path/to/redis.conf] [options] ./redis-server - (read config from stdin) ./redis-server -v or --version ./redis-server -h or --help ./redis-server --test-memory <megabytes> Examples: ./redis-server (run the server with default conf) ./redis-server /etc/redis/6379.conf ./redis-server --port 7777 ./redis-server --port 7777 --slaveof 127.0.0.1 8888 ./redis-server /etc/myredis.conf --loglevel verbose Sentinel mode: ./redis-server /etc/sentinel.conf --sentinel
配置文件中常用参数如下:
daemonize:是否以后台daemon方式运行,默认是前台方式运行,即默认值为no
pidfile:pid文件位置,默认为:/run/redis.pid
port:监听的端口号,默认为6379
bind 127.0.0.1 配置监听网卡的ip,针对有多个网卡的场景
logfile:log文件位置,默认值为stdout,使用“标准输出”,默认后台模式会输出到/dev/null
loglevel notice ,指定日志记录级别,Redis总共支持四个级别:debug,verbose,notice,warning,默认为notice
Debug:记录很多信息,用于开发和测试
Verbose:很多精简的有用信息,不像debug会记录那么多
Notice:普通的verbose,常用于生产环境
Warning:只有非常重要或者严重的信息会记录到日志
三、设置开机自启动
将启动脚本复制到/etc/init.d目录下
# cp /usr/local/redis-3.0.7/utils/redis_init_script /etc/init.d/redisd
编辑启动脚本
# vim /etc/init.d/redisd
#!/bin/sh # chkconfig:2345 90 10 # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. REDISPORT=6379 EXEC=/usr/local/redis-3.0.7/src/redis-server #EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/redis-3.0.7/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.conf"
主要做了两项修改,
一、添加了# chkconfig:2345 90 10
二、指定了redis-server和redis-cli的位置
EXEC=/usr/local/redis-3.0.7/src/redis-server
CLIEXEC=/usr/local/redis-3.0.7/src/redis-cli
注意:
PIDFILE=/var/run/redis_${REDISPORT}.pid指定了pid文件的位置
CONF="/etc/redis/${REDISPORT}.conf"指定了配置文件的位置
创建配置文件
# cd /etc/
# mkdir redis
# cp /usr/local/redis-3.0.7/redis.conf redis/6379.conf
修改配置文件
主要是设置redis以后台进程运行和pid文件的位置
daemonize yes
pidfile /var/run/redis_6379.pid
以服务方式启动redis
# /etc/init.d/redisd start
Starting Redis server...
# ps -ef |grep redis
root 29836 1 0 18:23 ? 00:00:00 /usr/local/redis-3.0.7/src/redis-server *:6379 root 29846 4110 0 18:23 pts/0 00:00:00 grep --color=auto redis
客户端连接测试
# cd /usr/local/redis-3.0.7/src/
# ./redis-cli
127.0.0.1:6379> set 123 hello OK 127.0.0.1:6379> get 123 "hello"
默认连接到localhost 6379,查看服务器信息,可通过info命令。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY