前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux(CentOS7)安装Redis6.0.1

Linux(CentOS7)安装Redis6.0.1

作者头像
静谧星空TEL
发布2021-04-27 14:22:09
1.8K0
发布2021-04-27 14:22:09
举报

一、环境准备

Redis官网:https://redis.io/

历史版本:http://download.redis.io/releases/

1、安装依赖

代码语言:javascript
复制
yum -y install gcc gcc-c++ make cmake lrzsz 

2、解压redis

代码语言:javascript
复制
tar zxvf redis-6.0.1.tar.gz

二、redis编译安装

1、编译redis

代码语言:javascript
复制
cd redis-6.0.1 &&  make

redis6需要较高版本的gcc编译

如果make失败,需要手动升级gcc版本(redis5以下的不需要升级)

代码语言:javascript
复制
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile  ## gcc版本永久生效

2、安装redis

代码语言:javascript
复制
make install PREFIX=/usr/local/redis

3、拷贝redis.conf

代码语言:javascript
复制
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc

4、启动redis

代码语言:javascript
复制
nohup /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf  2>&1 &

三、redis环境配置

1、配置环境变量 

代码语言:javascript
复制
## 在 /etc/profile 后添加
REDIS_HOME=/usr/local/redis/
PATH=$PATH:$REDIS_HOME/bin

2、开机自启配置

代码语言:javascript
复制
## 在 /etc/rc.local 下添加
echo never > /sys/kernel/mm/transparent_hugepage/enabled
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

3、其他配置

代码语言:javascript
复制
# 注释掉绑定ip,允许远程连接
bind 127.0.0.1 # 注释掉这句
# 允许后台运行
daemonize yes
# 关闭保护模式,否则外部ip无法连接
protected-mode no
# 防火墙开启redis端口,默认6379
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
# 内存设置
echo 8192 > /proc/sys/net/core/somaxconn ## 最大内存8G
sysctl vm.overcommit_memory=1  ## 内存超出时开辟内存 
/etc/sysctl.conf 文件添加
vm.overcommit_memory = 1
# 密码设置 redis.conf 文件下添加
requirepass 123456
# 不重启设置密码(永久有效),登录之后输入
config set requirepass 123456
# 查询密码
config get requirepass
# 验证密码
auth 123456
# 登录时,验证登录输入一下
auth 123456

4、redis关闭方法

代码语言:javascript
复制
redis-cli shutdown
ps -ef | grep redis | grep -v grep | awk '{print $2}' | xargs kill -9
redis-cli -h 127.0.0.1 -p 6379 shutdown

四、redis系统服务

1、redis添加到系统服务

代码语言:javascript
复制
vi /lib/systemd/system/redis.service
代码语言:javascript
复制
[Unit]
Description=The redis-server Process Manager
Documentation=https://redis.io/
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
 
[Install]
WantedBy=multi-user.target

2、redis系统服务命令 

代码语言:javascript
复制
systemctl enable redis
systemctl start redis
systemctl stop redis
systemctl status redis

五、redis JavaAPI

1、Maven配置

代码语言:javascript
复制
      redis.clients
      jedis
      3.1.0

2、java连接 redis

代码语言:javascript
复制
import redis.clients.jedis.Jedis;

Jedis jedis = new Jedis("localhost");
jedis.auth("123456"); 
jedis.set("mmsi", "123456789");
//存储数据到列表中
 jedis.lpush("site-list", "Runoob");
 jedis.lpush("site-list", "Google");
 jedis.lpush("site-list", "Taobao");
// 获取存储的数据并输出
List list = jedis.lrange("site-list", 0 ,2);
for(int i=0; i keys = jedis.keys("*"); 
Iterator it=keys.iterator() ;   
while(it.hasNext()){   
   String key = it.next();   
   System.out.println(key);   
}

3、redis连接池

代码语言:javascript
复制
package com.xtd.utils.redis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.Set;

public class RedisUtil {

    private static JedisPool jedisPool;

    private String ip = "127.0.0.1";

    private Integer port;
    private Integer maxIdle;
    private Long maxWait;

    public RedisUtil(Integer port) {
        this.port = port;
        this.maxIdle = 10;
        this.maxWait = -1L;
        initJedisPool();
    }

    public RedisUtil(String ip, Integer port) {
        this.ip = ip;
        this.port = port;
        this.maxIdle = 10;
        this.maxWait = -1L;
        initJedisPool();
    }

    public RedisUtil(String ip, Integer port, Integer maxIdle, Long maxWait) {
        this.ip = ip;
        this.port = port;
        this.maxIdle = maxIdle;
        this.maxWait = maxWait;
        initJedisPool();
    }

    public Jedis getJedis() {
        return jedisPool.getResource();
    }

    private void initJedisPool() {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(maxIdle);
        config.setMaxWaitMillis(maxWait);
        config.setMaxTotal(10000);
        jedisPool = new JedisPool(config, ip, port, 60000);
    }

    public static void main(String[] args) {
//        Jedis jedis = new RedisUtil("192.168.0.102", 6379).getJedis();
//        Jedis jedis = new RedisUtil("127.0.0.1", 6379).getJedis();
        Jedis jedis = new RedisUtil(6379).getJedis();
        jedis.select(0);
        Set set = jedis.keys("t_route_local-*");
        jedis.set("station_v1_01","station_v1_01;station,\\`date\\`,\\`time\\`,lat,long,visibility,air_temperature,wind_direction,wind_speed,air_pressure,precipitaion,sea_temperature,sea_salt,wave_period,wave_height;station_par,month_par");
        for (String s : set) {
//            jedis.del(s);
            System.out.println(s);
        }
        String value =  jedis.get("station_v1_01");
        System.out.println(value);
        System.out.println(set.size());
        jedis.close();
    }


}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境准备
    • 1、安装依赖
      • 2、解压redis
      • 二、redis编译安装
        • 1、编译redis
          • 2、安装redis
            • 3、拷贝redis.conf
              • 4、启动redis
              • 三、redis环境配置
                • 1、配置环境变量 
                  • 2、开机自启配置
                    • 3、其他配置
                      • 4、redis关闭方法
                      • 四、redis系统服务
                        • 1、redis添加到系统服务
                          • 2、redis系统服务命令 
                          • 五、redis JavaAPI
                            • 1、Maven配置
                              • 2、java连接 redis
                                • 3、redis连接池
                                相关产品与服务
                                云数据库 Redis
                                腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档