linux下redis安装配置及redis常用命令

本文详细介绍了在Linux环境下安装、配置Redis的过程,包括下载、安装、配置文件修改、服务器优化、测试客户端连接及常见问题解决等步骤,确保Redis在实际应用中稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载redis
下载地址: http://code.google.com/p/redis/downloads/list
2013年12月7号,我下载的是最新版本:redis-2.6.14.tar.gz

另附上csdn上该版本的资源:
http://download.csdn.net/detail/wantianwen/6677973
使用root安装

su
将该下载包拷贝到/opt
cp redis-2.6.14.tar.gz /opt

二、安装
cd /opt
tar zxvf redis-2.6.14.tar.gz
cd redis-2.6.14
make && make install

安装好后查看下redis的可执行文件已经在此目录下:
ls /usr/local/bin/redis*

/usr/local/bin/redis-benchmark
/usr/local/bin/redis-cli
/usr/local/bin/redis-check-aof
/usr/local/bin/redis-server
/usr/local/bin/redis-check-dump

三、配置redis
redis的配置文件启动时需要用到:
cp redis.conf /etc/
然后编辑redis.conf配置文件(/etc/redis.conf),按需求做出适当调整,比如:
vi /etc/redis.conf
daemonize yes #默认为on。yes为转为守护进程,否则启动时会每隔5秒输出一行监控信息
save 900 1 #900秒内如果有一个key发生变化时,则将数据写入进镜像
maxmemory 256000000 #分配256M内存

将6379端口在防火墙中开放:
rhel系列
vi /etc/sysconfig/iptables#加入一行,需要具备其修改权限
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
/etc/init.d/iptables restart
查看防火墙状态:
/etc/init.d/iptables status

debian系列
ufw allow 6379
查看防火墙状态
ufw status
6379                       ALLOW       Anywhere

创建redis的日志文件夹:
mkdir -p /var/log/redis/log

启动redis并指定redis的日志文件:
/usr/local/bin/redis-server /etc/redis.conf 1>/var/log/redis/infolog.log 2>/var/log/redis/errlog.log &
加入自启动:
vi /etc/rc.local#加入
/usr/local/bin/redis-server /etc/redis.conf 1>/var/log/redis/infolog.log 2>/var/log/redis/errlog.log &

四、服务器优化(根据实际情况判定是否需要优化)
如果内存情况比较紧张的话,需要设定内核参数:
echo 1 > /proc/sys/vm/overcommit_memory

这里说一下这个配置的含义:
/proc/sys/vm/overcommit_memory
该文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

五、测试redis
客户端连接
redis-cli
redis 127.0.0.1:6379> set redisKey value
OK
redis 127.0.0.1:6379> get redisKey
"value"
redis 127.0.0.1:6379> del redisKey
(integer) 1
redis 127.0.0.1:6379> exists key
(integer) 0


keys *
取出当前匹配的所有key

> exists larry
(integer) 0

当前的key是否存在

del lv
删除当前key

expire
设置过期时间

> expire larry 10
(integer) 1

> move larry ad4
(integer) 1

移动larry键值对到ad4数据库

> persist lv
(integer) 1
移除当前key的过期时间

randomkey
随机返回一个key

rename
重命名key

type
返回值的数据类型

type testlist
list

> ping
PONG
测试连接是否还在

>echo name
"larry"
打印

> select ad4databank
OK
数据库切换

> quit
退出连接

> dbsize
(integer) 12
当前数据库中key的数量

> info
服务器基本信息

monitor
实时转储收到的请求

config get
获取服务器的参数配置

flushdb
清空当前数据库

flushall

清除所有数

六、遇到问题
我用java操作redis时,报过这样的错误:
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

解决:

redis-cli
config set stop-writes-on-bgsave-error no

推荐:http://www.laikanxia.com

### 安装配置 Redis #### 文件上传与解压 为了在 Linux安装 Redis,需先将下载好的 Redis 压缩包上传至服务器上的某个目录,比如 `/usr/local` 目录[^1]。之后,在终端中切换到该路径并解压缩文件。 #### 编译安装过程 进入解压后的 Redis 源码所在文件夹,通过 `make` 命令编译源代码。如果希望指定安装位置,则可以使用带有前缀参数的命令来完成这一操作,例如: ```bash make PREFIX=/usr/local/redis6.2 install ``` 这条指令会把 Redis 的可执行程序安置于 `/usr/local/redis6.2/bin` 下面[^3]。 #### 开机自动启动设置 为了让 Redis 能够随系统的启动而自行运行起来,存在两种主要途径实现此功能——脚本方法以及修改配置文件的方式。两者均依赖于 Linux 自身提供的服务管理框架来进行控制[^2]。 对于采用 systemd 的现代发行版本来说,创建一个新的 service 单元文件可能是最简便的做法之一。通常情况下,这个文件会被放置在 `/etc/systemd/system/` 中,并命名为 `redis.service`。其内容大致如下所示: ```ini [Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=nobody Group=nogroup ExecStart=/usr/local/redis6.2/bin/redis-server /usr/local/redis6.2/etc/redis.conf ExecStop=/usr/local/redis6.2/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target ``` 保存更改后,可以通过下面这些 systemctl 子命令来启用或禁用 Redis 作为开机启动项: ```bash sudo systemctl enable redis sudo systemctl disable redis ``` 最后一步就是重启计算机验证一切正常工作了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值