Redis的安装及详解

1.Redis介绍?

1.1 Redis是什么?

Redis(Remote Dictionary Server,远程字典服务器)是一个开源免费的,用C语言编写的一个高性能的分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库。是当前最热门的NoSql服务器之一,也被人们成为数据结构服务器(redis的所有功能就是将数据以其固有的几种结构保存,并提供给用户操作这几种结构的接口)。

1.2 Redis的特点

  • Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启时候可以再此加载进行使用。
  • Redis是一个key-value存储系统。它的value类型除String以为,还支持list(链表)、set(集合)、hash(哈希散列)和zset(有序集合)几种数据类型。
  • Redis支持数据备份,即master-slave模式的备份。

1.3 Redis能干什么?

Redis主要是用来做缓存的,但不是仅仅只能做缓存。

  • 缓存(内存的存储和持久化)使用最多
    数据查询、新闻内容、商品内容等等
  • Session共享
    分布式集群架构中的session分离。
  • 定时器和计数器
    网站访问统计和应用排行榜。
  • 任务队列
    秒杀、抢购、12306等等
  • 获取最新N个数据的操作。
    可以将最新10条评论的id放在redis的list集合中。
  • 发布、订阅信息系统(充当消息中间件)

2.下载及安装

2.1 下载

2.1.1 登录Redis的官网

https://redis.io/
http://www.redis.cn/
在这里插入图片描述

2.1.2 点击上图链接,进行下载

在这里插入图片描述

2.2 安装

2.2.1 安装前的准备工作

redis是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境。
安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,联网执行如下命令

yum install gcc-c++

2.2.2 上传下载好的redis-5.0.5.tar.gz到linux中

我们放到/usr/local/temp文件夹下。
在这里插入图片描述

2.2.3 解压源码

tar -zxvf redis-5.0.5.tar.gz

2.2.4 进入解压后的目录编译

cd /usr/local/redis-5.0.5 
make 

如果第一次make出现由于gcc没安装导致的错误。
第二次make时需要执行如下命令 make distclean
然后再make

2.2.5 进入解压后目录安装redis到指定目录

如 /usr/local/redis

cd /usr/local/redis-5.0.5 
make PREFIX=/usr/local/redis install

2.2.6 redis启动

  • 前端模式启动
    直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。
  • 后台模式启动
    找到配置文件redis.conf,redis.conf在redis源码目录。
    拷贝配置文件到安装目录的bin目录下
cp /usr/local/redis-5.0.5/redis.conf  /usr/local/redis/bin

修改bin目录下redis.conf配置文件, daemonize为 yes 。
启动时,加上redis.conf

cd /usr/local/redis/bin
./redis-server redis.conf

2.2.7查看redis状态

ps aux|grep redis

执行完该命令,如果是显示一行,则没有启动redis。如果是多行这代表redis服务已经启动。
在这里插入图片描述

2.2.8关闭redis服务

 redis-cli -p redis 端口号 shutdown

3 Redis基础知识介绍

  • Redis默认安装16个库
  • 通过select+数据库下表[从零开始]切换库
select 4
  • 通过dbsize命令可以查看数据库key的个数。
dbsize
  • 通过keys命令可以查看数据库中的key值
keys * 
  • 通过FLUSHDB命令清空当前库。
  • 通过FLUSHALL命令清空所有库。
  • redis默认端口:6379

4 Redis常用的五大数据类型

  • String(字符串)
    String是redis最基本的类型。
    String类型是二进制安全的,redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。一个redis中字符串value最多可以是512M
  • Hash(哈希)
    Redis的hash 是一个键值对集合。
    Redis的hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
    类似Java里面的Map<String,Object>
  • List(列表)
    Redis 列表是简单的字符串列表,按照插入顺序排序。它的底层实际是个链表
  • Set(集合)Redis的Set是string类型的无序集合。它是通过HashTable实现的。
  • zset(sorted set:有序集合)
    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。
    redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

5 Redis配置文件详解

5.1 在哪里?

在redis源码解压后的目录中。名字叫:redis.conf

5.2 为什么我们在linux中大多数配置文件,要拷贝一份运行?

避免我们把原始的配置改乱,而无法恢复。

5.3 redis.conf组成

5.3.1Units单位

  • 大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
  • 对大小写不敏感
    在这里插入图片描述

5.3.2 INCLUDES包含

和我们的struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他redis的配置。
在这里插入图片描述

5.3.3 GENERAL 配置

5.3.3.1 Redis配置设置
  • CONFIG 命令查看配置项
127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

示例:

127.0.0.1:6379> CONFIG GET loglevel
1)"loglevel"
2) "notice"
  • CONFIG 命令设置配置项
127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

示例

127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
127.0.0.1:6379> CONFIG GET loglevel
1)"loglevel"
2)"notice"

可以修改redis.conf来设置配置项

5.3.3.2 daemonize(守护进程)

Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no )

5.3.3.3 pidfile

当 Redis 以守护进程方式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid。当然,你可以通过pidfile来指定pid文件生成的位置

5.3.3.4 port

指定 Redis 监听端口,默认端口为 6379,作者在自己的一篇博文中解释了为什么选用 6379 作为默认端口,因为 6379 在手机按键上 MERZ 对应的号码,而 MERZ 取自意大利歌女 Alessia Merz 的名字

5.3.3.5 tcp-backlog

默认值:511。
设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。目前而言,我们使用默认值,足够使用。

5.3.3.6 timeout

当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能。设置为0:表示连接一直连着不关闭。

5.3.3.7 bind

绑定的主机地址

5.3.3.8 tcp-keepalive

单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60。表示60秒进行一次tcp连接检测。

5.3.3.9 loglevel

指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 notice。

5.3.3.10 logfile

日志记录方式,默认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给 /dev/null

5.3.3.11 databases

设置数据库的数量,默认redis安装有16个库,默认当前数据库为0号库,可以使用SELECT 命令在连接上指定数据库id

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/354057.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Doris 基础 -- 部分数据类型及操作

您还可以使用SHOW DATA TYPES;查看Doris支持的所有数据类型。 部分类型如下&#xff1a; Type nameNumber of bytesDescriptionSTRING/可变长度字符串&#xff0c;默认支持1048576字节(1Mb)&#xff0c;最大精度限制为2147483643字节(2gb)。大小可以通过BE配置string_type_le…

【Perl】与【Excel】

引言 perl脚本语言对于文本的处理、转换很强大。对于一些信息量庞大的文本文件&#xff0c;看起来不直观&#xff0c;可以将信息提取至excel表格中&#xff0c;增加数据分析的可视化。perl语言的cpan提供了大量模块。对于excel文件的操作主要用到模块&#xff1a; Spreadshee…

Elasticsearch过滤器(Filter):原理及使用

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

【数据库编程-SQLite3(一)】sqlite3数据库在Windows下的配置及测试

学习分析 1、资源准备2、环境配置2.1、将资源包下载解压缩保存。2.2、在QT中创建工程,配置环境 3、测试配置3.1、 sqlite3_open函数3.2、sqlite3_close函数3.3、代码测试 1、资源准备 资源包 2、环境配置 2.1、将资源包下载解压缩保存。 解压缩得到以下文件 2.2、在QT中创建…

第十五章 观察者模式

目录 1 观察者模式介绍 2 观察者模式原理 3 观察者模式实现 4 观察者模式应用实例 5 观察者模式总结 1 观察者模式介绍 观察者模式的应用场景非常广泛&#xff0c;小到代码层面的解耦&#xff0c;大到架构层面的系统解耦&#xff0c;再或者 一些产品的设计思路&#xff0c…

图卷积网络(Graph Convolutional Network, GCN)

图卷积网络&#xff08;Graph Convolutional Network, GCN&#xff09;是一种用于处理图结构数据的深度学习模型。GCN编码器的核心思想是通过邻接节点的信息聚合来更新节点表示。 图的表示 一个图 G通常表示为 G(V,E)&#xff0c;其中&#xff1a; V 是节点集合&#xff0c;…

【perl】环境搭建

1、Vscode Strawberry Perl 此过程与tcl环境搭建很类似&#xff0c;请参考我的这篇文章&#xff1a; 【vscode】 与 【tclsh】 联合搭建tcl开发环境_tclsh软件-CSDN博客 perl语言的解释器可以选择&#xff0c;strawberry perl。Strawberry Perl for Windows - Releases。 …

对于补码的个人理解

1. 十进制的取模计算 现在我想要使另一个数加上2后用8取模后也等于1&#xff0c;这个数可以是哪些&#xff1f; 这个问题比较简单&#xff0c;只需要-1加上8的倍数即可 例如&#xff1a; 如果我们想要得到距离-1这个负数最近的一个正数7&#xff0c;直接使用-18即可。反过来想…

C# WinForm —— 36 布局控件 GroupBox 和 Panel

1. 简介 两个可以盛放其他控件的容器&#xff0c;可以用于把不同的控件分组&#xff0c;一般不会注册事件 GroupBox&#xff1a;为其他控件提供可识别的分组。可通过Text属性设置标题&#xff1b;有边框&#xff1b;没有滚动条&#xff0c;一般用于按功能分组 Panel&#xff…

白酒:中国的酒文化的传承与发扬

中国&#xff0c;一个拥有五千年文明史的国度&#xff0c;其深厚的文化底蕴孕育出了丰富多彩的酒文化。在这片广袤的土地上&#xff0c;酒不仅仅是一种产品&#xff0c;更是一种情感的寄托&#xff0c;一种文化的传承。云仓酒庄的豪迈白酒&#xff0c;正是这一文化脉络中的一颗…

CentOS系统自带Python2无法使用pip命令

Linux运维工具-ywtool 目录 一. 系统环境二.解决三.验证四.备注(1)输入"yum install -y python-pip",提示没有可用 python-pip包(2)安装完pip后进行升级 一. 系统环境 centos7系统自带的python2.7无法使用pip命令 二.解决 yum install python-pip -y三.验证 pip…

Go 并发控制:RWMutex 实战指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

three.js纹理贴图褪色失真问题解决

网上查的都是加encoding配置&#xff0c;但是最新版本&#xff0c;纹理对象属性名.encoding已经变更为.colorSpace // 纹理贴图加载器 const texLoader new THREE.TextureLoader(); const texture texLoader.load("./test.jpg"); texture.colorSpace THREE.SRGBC…

Building wheels for collected packages: mmcv, mmcv-full 卡住

安装 anime-face-detector 的时候遇到一个问题&#xff1a;Installation takes forever #1386&#xff1a;在构建mmcv-full时卡住&#xff0c;这里分享下解决方法&#xff08;安装 mmcv 同理&#xff0c;将下面命令中的 mmcv-full 替换成 mmcv&#xff09; 具体表现如下&#x…

免费域名第二弹:手把手教你获取个性化免费域名并托管至Cloudflare

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 免费申请域名的方法 📒📝 注册账号📝 创建免费域名📝 将域名添加到 Cloudflare⚓️ 相关链接 ⚓️📖 介绍 📖 在如今的数字时代,拥有一个个性化的域名已经成为越来越多人的需求。无论是建立个人博客、项目展示,还…

连获殊荣,天润融通以AI技术重塑企业客户联络体验!

天润融通又获奖了。 2024年3月22日&#xff0c;「ToB行业头条」联合3W集团共同举办的「2024ToB头条行业大会」在北京举行。 为表彰在过去一年中表现卓越、对行业发展作出显著贡献的企业、产品和数字化转型案例&#xff0c;大会颁布了ToB年度榜单【2023中国ToB行业影响力价值榜…

搜维尔科技邀您共赴2024第四届轨道车辆工业设计国际研讨会

会议内容 聚焦“创新、设计、突破”&#xff0c;围绕“面向生命健康、可持续发展的轨道交通系统” 为主题&#xff0c;从数字化、智能化、人性化、绿色发展等方面&#xff0c;探索轨道交通行业的设计新趋势及发展新机遇。 举办时间 2024年7月10日-12日 举办地点 星光岛-青岛融…

CSS3基本语法

文章目录 一、CSS引入方式二、选择器1、标签选择器2、类选择器3、id选择器4、通配符选择器 三、字体操作1、字体大小2、字体粗细3、字体样式&#xff08;是否倾斜&#xff09;4、字体修改常见字体系列 修改字体系列语法 四、文本操作1、文本缩进2、文本水平对齐方式3、文本修饰…

【AI】如何改换Ollama的模型存储位置

【背景】 ollama在构筑AI应用时是用于统一管理模型库的核心组成部分。默认存放ollama模型库的位置是C盘的用户文件夹的.llama-》model下。但是这样C盘很容易占满。 插一句话&#xff0c;越来越觉得不分区有不分区的方便。 好了&#xff0c;有没有办法改变ollama的默认模型存放…

CSRF跨站请求伪造

CSRF跨站请求伪造 条件 1、需要请求伪造数据包 2、无过滤防护&#xff0c;有过滤防护能绕过 3、受害者需要触发 案例一&#xff08;无防护&#xff09; burp抓到添加用户的包 使用burp自带的转换为csrf的poc 勾选上include-auto-submit script&#xff0c;删除点击标签&a…