博客
关于我
CentOs7 Redis6.0.6安装
阅读量:549 次
发布时间:2019-03-09

本文共 2738 字,大约阅读时间需要 9 分钟。

Redis是什么?

Redis是一种开源的支持键值存储的内存数据库,它以其高性能和多种数据结构(如字符串、列表、集合、有序集合和哈希)著称。与传统的关系型数据库如MySQL不同,Redis的数据以内存形式存储,并能定期将内存数据持久化到磁盘,确保数据的持久性。由于Redis运行缓存层特性,它在高并发场景下表现尤为出色,适合用于Web应用、中、大型实时系统等。

为什么要使用Redis?

在开发项目时,尤其是面对高并发或大数据量的应用,Redis的优势变得更加明显。例如,像Tieba这样的高并发社区,不同用户的请求如果都通过传统的关系型数据库处理,会导致服务器在高峰期响应速度大幅下降甚至崩溃。相比之下,Redis通过将热门数据存放在内存中,可以在微秒级别响应请求,避免因数据库性能瓶颈而影响用户体验。

CentOs7下安装Redis

1.安装wget工具

yum -y install wget

2.下载Redis源码

访问官方下载页面并选择适合的版本,建议使用最新稳定版本。使用wget下载:

wget http://download.redis.io/releases/redis-5.x.y.tar.gz

3.安装编译工具

如果没有安装编译环境,运行:

yum install gcc-c++

4.解压并安装

解压源码并移动到/usr/local目录:

tar -zxvf redis-5.x.y.tar.gz
mv redis-5.x.y /usr/local/

进入目录并编译安装:

cd /usr/local/redis-5.x.y
make
make install

5.配置并启动Redis

默认配置文件可以在/usr/local/redis-5.x.y/redismag/redis.conf找到。建议定制配置并启动服务器:

cd /usr/local/redis-5.x.y/src
./redis-server ../redis.conf

默认启动模式为后台模式(daemonize yes),可以根据需求修改配置。

6.验证运行状态

ps -ef | grep redis

查看是否有redis-server进程。如果有,说明Redis正在正常运行。

使用Jedis客户端连接Redis

Jedis是Java向Redis交互的标准客户端库,支持单实例和连接池模式。以下是基本用法示例:

单实例连接

import redis.clients.jedis.Jedis;
import redis.clients.jedis.ConnectionListener;
public class TestRedis {
public static void main(String[] args) {
// 建立连接
Jedis jedis = new Jedis("localhost", 6379);
// 测试连接
System.out.println(jedis.ping());
// 关闭连接
jedis.close();
}
}

连接池连接

import redis.clients.jedis.Jedis;
import redis.clients.jedis.ConnectionListener;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class TestRedis {
public static void main(String[] args) {
// pool配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(30); // 最大连接数
config.setMaxIdle(10); // 最大空闲连接数
// 创建连接池
JedisPool pool = new JedisPool(config, "localhost", 6379);
Jedis jedis = null;
try {
jedis = pool.getResource();
// 设置值
jedis.set("key", "value");
// 获取值
System.out.println(jedis.get("key"));
} finally {
// 资源释放
jedis.close();
}
}
}

检查Jedis连接

确保CentOS防火墙开放6379端口:

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=6379/tcp

常见问题与解决方案

  • 连接被拒绝(Connection refused)

    • 检查Redis配置文件,确保bind 127.0.0.1已注释。
    • 修改protected-modeno(默认值为yes)。
    • 重启Redis服务后,尝试连接。
  • 默认防火墙规则

    • 如果防火墙未开放6379端口,使用Jedis可能会失败。
    • 使用firewall-cmd --add-port=6379/tcp --permanent开放端口,待=""
  • 编译安装时错误

    • 确保安装了gcc及相关编译工具。
    • 检查Redis源码目录是否正确(/usr/local/redis-5.x.y)。
  • 注意事项

    • 配置文件
      Redis配置文件redis.conf位于解压后的根目录下,建议定制设置如daemonizebind等参数。
    • 备份与持久化
      使用rdbaof持久化方式备份数据,确保数据不丢失。
    • 性能优化
      替换带有线程的epoll表现更好,建议自定义配置文件redis.conf,如appendonly yesappendfsync on等。

    开源爱好者欢迎关注和转化!

    转载地址:http://hrlsz.baihongyu.com/

    你可能感兴趣的文章
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    non linear processor
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NoNodeAvailableException None of the configured nodes are available异常
    查看>>
    Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
    查看>>
    nopcommerce商城系统--文档整理
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>
    NoSQL数据库概述
    查看>>
    Notadd —— 基于 nest.js 的微服务开发框架
    查看>>
    NOTE:rfc5766-turn-server
    查看>>
    Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Notepad++在线和离线安装JSON格式化插件
    查看>>
    notepad++最详情汇总
    查看>>
    notepad++正则表达式替换字符串详解
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notes on Paul Irish's "Things I learned from the jQuery source" casts
    查看>>