第二章 Redis介绍及安装

1、Redis概述

Redis(远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化。是当前比较热门的NOSQL数据库之一,也被人们称之为数据机构服务器。

它提供了很多键值数据类型以用来适应不同场景下的存储需求,在目前Redis所支持的数据类型包括:

  • 字符串类型

  • 散列类型

  • 列表类型

  • 集合类型

  • 有序集合类型

  • 坐标类型

学习参考网站:Redis 教程 | 菜鸟教程

2、Redis作用

  • 内存存储和持久化:redis支持异步将内存中的数据写入到磁盘中,同时不影响继续服务

  • 取最新N个数据的操作,可以将排行或者指定信息保存在Redis集合容器内

  • 模拟类似于HttpSession(会话对象)这种需要设定过期时间的功能

  • 定时器 计数器

  • 消息的订阅和消息的发布(消息队列 主从配置)

3、Redis特点

  • 性能非常高:Redis读取速度11W次/s,写入速度8W次/s

  • 非常丰富的数据类型 :String List Hash Set ZSet等等数据类型操作

  • 原子性:Redis内所有操作都是原子性的,意味着要么成功执行,要么失败完全不执行。单个操作是原子性的,多个操作也支持事务。

  • 数据持久化:可以将内存中的数据保存在磁盘内,重启的时候可以加载进行使用

  • 其他:Redis还支持publish/subscribe 通知,key值生命周期的管理,提供了目前主流编程语言的API接口

4、Redis获取地址

https://redis.io
http://www.redis.cn

5、Redis的安装

方式一:本地安装

#步骤1:访问官网

https://redis.io/

#步骤2:选择本地安装

GET STARTED ====> install ====> Install from source

#步骤3:下载

>> wget https://download.redis.io/redis-stable.tar.gz

#步骤4:解tar

>> tar -xzvf redis-stable.tar.gz

#步骤5:编译器的安装

>> make

>> make install

#步骤6:安装CC控件

>> dnf install gcc*

#步骤7:再次编译安装

>> make install

#步骤8:再次发生问题需要找到README.md配置文件 找到 make malloc = libc

>> make MALLOC = libc

#步骤9:再次编译安装

>> make install

如果提示为:

Hint: It's a good idea to run 'make test' ;)

INSTALL redis-server

INSTALL redis-benchmark

INSTALL redis-cli

意味着安装成功。

#步骤10:开启服务

>> redis-server

方式二:yum安装

yum install redis -y

警告1:内存复用开启问题

解决方案:

打开/etc/sysctl.conf

写入vm.overcommit_memory=1保存

刷新sysctl -p

警告2:未指定配置文件,使用默认配置文件

使用指定配置文件redis-server /path/to/redis.conf

问题3:最大的打开文件数 增减10032(初始值1024)

设置方式:

vim /etc/security/limits.conf

追加两句并保存

root soft nofile 10032

root hard nofile 10032

相关推荐
建投数据40 分钟前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天2 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭2 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
工业甲酰苯胺2 小时前
分布式系统架构:服务容错
数据库·架构
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship4 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存