百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Windows&Linux&MacOS如何快速搭建Redis

bigegpt 2024-08-06 12:08 3 浏览

前言

Redis是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。由 C 语言开发的一个开源的高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。

官网地址:https://redis.io/

中文官方地址:http://www.redis.cn/

Redis常见的数据类型有:

  • String: 字符串
  • Hash: 哈希
  • List: 列表
  • Set: 集合
  • Sorted Set: 有序集合

在日常的开发或测试过程中,经常会接触到Redis。工欲善其事必先利其器,下面简单介绍一下Redis在Windows、Linux、Mac上的快速搭建过程。

一、Windows下安装Redis

Redis 支持 32 位和 64 位。根据系统平台的实际情况选择即可。下载地址:https://github.com/tporadowski/redis/releases

配置好环境变量,切换到 redis 目录下运行:

redis-cli.exe -h 127.0.0.1 -p 6379

二、Linux下安装Redis

1.手工方式安装

下载地址:http://redis.io/download,下载最新稳定版本。以6.0.6版本为例:

wget http://download.redis.io/releases/redis-6.0.6.tar.gz

Redis-6.0.6版本安装步骤如下:

① 关闭防火墙

systemctl stop firewalld 
systemctl disable firewalld

② 升级GCC

CentOS默认安装的GCC是4.8.5的版本,Redis6依赖gcc 5以上的版本

yum install gcc 
gcc -v 
yum -y install centos-release-scl  # 升级到9.1版本 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 
scl enable devtoolset-9 bash

③ 解压安装Redis

tar xzf redis-6.0.6.tar.gz 
cd redis-6.0.6 
make & make install

make完后 redis-6.0.6目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位 于安装目录 src 目录下。

④ 配置环境变量

vi /etc/profile  # 编辑配置文件,添加环境变量信息
source /etc/profile  # 重载配置文件

添加配置文件的内容:

export REDIS_HOME=/home/redis-6.0.6 export

PATH=$PATH:$REDIS_HOME/src

⑤ 修改配置文件redis.conf

bind 192.168.1.123 # 默认为127.0.0.1,即本地回环地址,只能通过本机的客户端连接,而无法通过远程连接。bind设置为本机IP地址,允许任意计算机通过此IP地址连接,如本机有两个IP1和IP2,当bind设置了IP1时,那么只能通过IP1连接redis,而通过IP2无法连接。

daemonize yes # 后台启动

protected‐mode no # 保护模式,默认yes开启状态,为了限制公网访问redis,加强安全性。启用条件:① protected mode设置为yes;② 没有bind ip;③ 没有设置访问密码;(以上条件必须同时满足,否则不会开启保护机制)

⑥ 启动redis服务

cd src
./redis-server  # 以默认方式启动Redis
./redis-server ../redis.conf  # 指定配置文件方式启动Redis

⑦ 启动Redis客户端

./redis-cli  # 以默认方式启动Redis客户端,127.0.0.1、6379
./redis-cli -h 192.168.1.123 -p 6379  # 启动Redis客户端,并指定连接的主机和端口号

⑧ 测试Redis连通性

通过一段Python代码简单测试redis连通性:

import redis


class RedisHandler:
    def __init__(self, host, port=6379, db=0):
        self.client = redis.StrictRedis(host=host, port=port, db=db)  # 生成客户端连接,StrictRedis()默认使用连接池,不必再单独使用ConnectPool


    def set_string(self, name: str, value, ex=None, px=None, nx=False, xx=False) -> None:
        """
        缓存中写入str(单个)
        :param name: 缓存名称
        :param value: 缓存值
        :param ex: 过期时间(秒)
        :param px: 过期时间(毫秒)
        :param nx: 如果设置为True,则只有name不存在时,当前set操作才执行(新增)
        :param xx: 如果设置为True,则只有name不存在时,当前set操作才执行(修改)
        :return:
        """
        self.client.set(name, value=value, ex=ex, px=px, nx=nx, xx=xx)


    def get_key(self, name):
        """读取缓存"""
        print(self.client.get(name))


if __name__ == '__main__':
    redis = RedisHandler(host='192.168.1.123')
    redis.set_string("test1", 0)
    redis.get_key("test1")

2.shell脚本方式安装

① redis_server_install.sh 脚本内容与解析

#!/bin/sh
cur_pass=`pwd`  # 定义当前所在路径的变量
redis_install_long=$cur_pass"/redis_log"
echo "==`date`==REDIS INSTALL START====" >>$redis_install_long
if [ $# -ne 2 ];then
   echo "==`date`==INSTALL REDIS SERVER PARA ERROR====" >>$redis_install_long
   exit -1
fi
echo "PARA NUMBER [$@]" >>$redis_install_long
if [ -d "/usr/local/redis" ];then
   echo "==`date`==REDIS INSTALL EXISTS====" >>$redis_install_long
   exit 0
fi
dbserverip=$1  # 定义传入的参数,执行时传入本机地址
rm -fr redis-6.0.8  # 删除原有的解压目录
`tar zxf redis-6.0.8.tar.gz`  # 解压缩
cd redis-6.0.8
make PREFIX=/usr/local/redis install
cp utils/redis_init_script  /etc/rc.d/init.d/redis
if [ ! -d "/etc/redis/" ];then
   mkdir -p /etc/redis/  # 创建Redis配置文件目录
fi
sed s/dbserverip/$dbserverip/g -i redis.conf  # 替换配置文件中的dbserverip
if [ ! -d "/home/jumploo/data/" ];then
   mkdir -p /home/jumploo/data/  # 创建Redis数据目录
fi
cp redis.conf  /etc/redis/6379.conf
echo "==`date`==REDIS INSTALL SUCCESS====" >>$redis_install_long
/etc/init.d/redis start > /dev/null 2>&1  &  # 启动Redis

② 安装Redis

chmod +x redis_server_install.py
./redis_server_install.py 192.168.1.123

三、MacOS安装Redis

1.安装gcc

brew install gcc

gcc安装后可在/usr/bin目录中查看到

2.将编译工具从clang改为gcc

由于Mac系统默认使用的是clang,在make时会报错,因此需要将编译工具从clang改为gcc

① 打开配置文件:vi ~/.zprofile,并在末尾添加如下内容:

由于安装的是gcc-11版本,因此需要配置为11

② 重新加载配置文件:

source ~/.zprofile

③ 此时再通过gcc --version命令查看版本时,显示的就是gcc的相关信息,而不再是clang了

3.下载解压Redis

通过wget命令在线下载,或直接解压附件安装包,或到官网http://redis.io/download下载均可,通过wget命令下载的话需要先安装wget工具

① 安装wget工具:

brew install wget

② 下载redis:

brew install wget
wget http://download.redis.io/releases/redis-6.0.6.tar.gz

③ 解压Redis

tar -xvf redis-6.0.6.tar.gz
cd redis-6.0.6

④ make

make

4.启动Redis

./redis-server

启动成功会显示如下图标:

5.redis安装过程中常见报错及解决办法

① make install 报错”install: /usr/local/bin/redis-server: Permission denied“

尝试使用sudo make install命令代替make install,安装成功后,系统会自动将redis-6.0.6/src下的相关脚本复制到/usr/local/bin下

相关推荐

机器学习分类模型评估(三)-F值(F-Measure)、AUC、P-R曲线

概述上二篇文章分别讲述了准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线,本文讲述机器学习分类模型评估中的F值(F-Measure)、AUC...

SPSS ROC曲线诊断临界值确定

ROC曲线是在临床医学和流行病学研究中一种常用的在诊断试验、预测模型中用于决定最佳临界点的方法。ROC曲线用真阳性率和假阳性率作图得出曲线,其横轴表示假阳性率(1-特异度),纵轴表示真阳性率(灵敏度)...

分类器模型检测--ROC曲线和AUC值

在监督学习建模中有一个重要的模块是模块的检测,就是怎样判断一个模型的好坏?那么常用的的检测的指标有P值、R值、F值、ROC曲线、AUC值等,今天来学习他们都是怎么来的,有什么用处。这里为二分类问题,即...

【Python机器学习系列】建立梯度提升模型预测心脏疾病

这是Python机器学习系列原创文章,我的第204篇原创文章。一、引言对于表格数据,一套完整的机器学习建模流程如下:针对不同的数据集,有些步骤不适用即不需要做,其中橘红色框为必要步骤,由于数据质量较高...

如何Keras自动编码器给极端罕见事件分类

全文共7940字,预计学习时长30分钟或更长本文将以一家造纸厂的生产为例,介绍如何使用自动编码器构建罕见事件分类器。现实生活中罕见事件的数据集:背景1.什么是极端罕见事件?在罕见事件问题中,数据集是...

机器学习分类问题:9个常用的评估指标总结

对机器学习的评估度量是机器学习核心部分,本文总结分类问题常用的metrics分类问题评估指标在这里,将讨论可用于评估分类问题预测的各种性能指标1ConfusionMatrix这是衡量分类问题性能的...

基于R语言的ROC曲线绘制及最佳阈值点(Cutoff)选择

ROC曲线在介绍ROC曲线之前,我们首先需要介绍混淆矩阵(ConfusionMatrix)。在统计分类模型的评估过程中分别统计分类模型归错类,归对类的观测值个数,然后把结果放在一个表里展示出来的表格...

R数据分析:多分类问题预测模型的ROC做法及解释

有同学做了个多分类的预测模型,结局有三个类别,做的模型包括多分类逻辑回归、随机森林和决策树,多分类逻辑回归是用ROC曲线并报告AUC作为模型评估的,后面两种模型报告了混淆矩阵,审稿人就提出要统一模型评...

SPSS实战:多个指标ROC曲线方向不一致的解决办法汇总(收藏)

在诊断实验和预测模型的临床效能评价中,我们常常用到ROC曲线分析。在SPSS中绘制ROC曲线操作比较简单,但如果将多个指标的ROC曲线绘制在同一个图中,有时候会碰到有些指标的ROC曲线在对角线上面,一...

小果教你快速分析ROC生存曲线图

尔云间一个专门做科研的团队原创小果生信果小伙伴们,大家好呀,很高兴和大家见面,前段时间应小伙伴出的解读ROC曲线图,小伙伴反应很是积极,这不最近小伙伴对于不同年份的ROC曲线图的分析呼声很高,...

生信文章中高频出现、模型评估必备分析——ROC曲线图,怎么看?

尔云间一个专门做科研的团队关注我们做了生信分析,拿到一堆数据,看不懂图怎么办?火山图、热图、散点图、箱线图、瀑布图···这么多类型的图都咋看?风险模型预后评估图、GO-KEGG富集分析图、GSEA...

如何看懂文献里那些图——ROC曲线图

ROC曲线的基本思想是把敏感度和特异性看作一个连续变化的过程,用一条曲线描述诊断系统的性能,其制作原理是在连续变量中不同界值点处计算相对应的灵敏度和特异度,然后以敏感度为纵坐标、1-特异性为横坐标绘制...

超强,必会的机器学习评估指标

大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]构建机器学习模型的关键步骤是检查其性能,这是通过使用验证指标来完成的。选择正确的验证指...

准确性检验 (ROC曲线)的SPSS操作教程及结果解读

作者/风仕在上一期,我们已经讲完了诊断试验的基础知识,这期开始讲准确性检验(ROC曲线),我们主要从准确性检验(ROC曲线)的介绍、基本概念、绘制原理、统计量、使用条件及案例的SPSS操作演示这几...

SPSS:ROC 曲线为什么反了?

【作者介绍】李志辉,长期从事各类统计软件应用研究,主编或参编SPSS、MINITAB、STATISTICA多个统计软件教材共8本。代表作:电子工业出版社《SPSS常用统计分析教程(SPSS22.0中...