文档章节

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

王小盼
 王小盼
发布于 2017/06/02 13:43
字数 1001
阅读 51
收藏 1

一、下载redis

https://redis.io/download 
下载到linux 的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  

三、配置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 /opt/log/redis/log  

启动redis并指定redis的日志文件:

/usr/local/bin/redis-server /etc/redis.conf 1>/opt/log/redis/infolog.log /opt/log/redis/errlog.log &  

加入自启动:

vi /etc/rc.local#加入  
/usr/local/bin/redis-server /etc/redis.conf 1>/opt/log/redis/infolog.log /opt/log/redis/errlog.log &  

 

查看当前redsis的版本

[root@iZuf6aehttqhrneuca9db8Z wpp]# redis-server -v
Redis server v=3.2.9 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=860c78f5e71c4322
[root@iZuf6aehttqhrneuca9db8Z wpp]#

redis的启动与关闭

1、直接启动

直接运行redis-server既可以启动redis

redis服务器默认会使用6379端口,通过--port参数可以自定义端口号:

redis-server --port 6380

如下是用8888端口启动

关闭:

redis-cli shutdown  或者 kill redis进程的pid

四、服务器优化(根据实际情况判定是否需要优化)

如果内存情况比较紧张的话,需要设定内核参数:
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 连接测试

测试通过。

 

七、遇到问题

我用Java操作Redis时,报过这样的错误:
1:(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  

2:如下异常、已经翻译。

所以,原因很明确,解决方案:

还有防火墙这个因素、暂时把防火墙关闭了去才测试吧。

 

© 著作权归作者所有

共有 人打赏支持
王小盼

王小盼

粉丝 11
博文 52
码字总数 28517
作品 0
闵行
后端工程师
私信 提问
Redis笔记整理(一):Redis安装配置与数据类型操作

[TOC] Redis简介 Redis的特点 Redis的优势 Redis应用 Redis安装配置 Redis安装 windows下直接解压即可使用,主要说明Linux下的安装方式 : Redis配置 Redis配置查看 Redis的配置文件位于Red...

xpleaf
2018/06/26
0
0
redis学习之redis的安装(linux)

redis简介: redis是一个nosql数据库,也就是非关系型数据库,数据保存在内存中而不是硬盘中,所以读取速度非常快,但是因为它是非关系型数据库,不适合用来存储复杂的数据,所以常用来做缓存...

贪挽懒月
2018/05/16
0
0
Redis详解(一)------ redis的简介与安装

  工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法。 1、Redis 的简介   Redis:REmote DIctionary Server(远程字典服务)。   是由意大利...

ysocean
2018/05/25
0
0
Redis进阶实践之二如何在Linux系统上安装安装Redis

Redis进阶实践之二如何在Linux系统上安装安装Redis 一、引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统。那是第一步,有了Linux操作系统,我们才可以在该系...

morpheusWB
2018/09/13
0
0
redis系列(一)- 安装与启动

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令 一、Redis介绍 Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么。 1、什么是NoSql NoS...

CSDN_LQR
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【C++】智能指针简述(四):shared_ptr

  在开始本文内容之前,我们再来总结一下,前文内容:   1.智能指针采用RAII机制,在构造对象时进行资源的初始化,析构对象时进行资源的清理及汕尾.   2.auto_ptr防止拷贝后析构释放同一块内...

shzwork
22分钟前
1
0
作为Java程序员这些技术都不会,拿什么去涨薪跳槽?

引言 当下,正面临着近几年来的最严重的互联网寒冬,听得最多的一句话便是:相见于江湖~,缩减HC、裁员不绝于耳,大家都是人心惶惶,年前如此,年后想必肯定又是一场更为惨烈的江湖厮杀。但博...

别打我会飞
45分钟前
2
0
springboot开发之定时器quartz 定时任务调度(压缩版,抽取quartz的单个任务表实现)

前言 老了, 记不住了, 好记性不如烂笔头; 没想到曾经过目不忘的我, 也有这么一天, 岁月蹉跎,学习一天不如一天 难受 Quartz可以用来做什么? Quartz是一个任务调度框架。比如你遇到这样的问题...

尾生
50分钟前
11
0
技术经理平时都干啥?

「技术主管」是开发团队中的某位程序员需要对一起创建系统的整个开发团队负责时所承担的角色。通常他既要对最终交付的软件系统负责,另外也会像一个程序员一样去开发实现系统。 一个技术主管...

春哥大魔王的博客
今天
7
0
java工作流引擎Jflow流程事件和流程节点事件设置

流程实例的引入和设置 关键词: 开源工作流引擎 Java工作流开发 .net开源工作流引擎 流程事件 工作流节点事件 应用场景: 在一些复杂的业务逻辑流程中需要在某个节点或者是流程结束后做一些业...

ccflow周朋
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部