IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 打开Redis数据库的大门 -> 正文阅读

[大数据]打开Redis数据库的大门

打开Redis数据库的大门

1、Redis是什么?

非关系型数据库:NoMsql

主流的 NoSQL 数据库有Redis、 MongBD、 Hbase、 Memcached 等。

Redis译为“远程字典服务”,它是一款基于内存实现的键值型 NoSQL 数据库, 通常也被称为数据结构服务器,这是因为它可以存储多种数据类型,比如 string(字符串),hash(哈希散列),list(列表),set(集合)和 sorted set(有序集合)等。

Redis 遵守 BSD 协议,实现了免费开源,其最新版本是 6.20,常用版本包括 3.0 、4.0、5.0。

自 Redis 诞生以来,它以其超高的性能、完美的文档和简洁易懂的源码广受好评,国内外很多大型互联网公司都在使用 Redis,比如腾讯、阿里、Twitter、Github 等等。

在这里插入图片描述

2、Redis特点:

  • Redis 不仅可以将数据完全保存在内存中,还可以通过磁盘实现数据的持久存储;
  • Redis 支持丰富的数据类型,包括 string、list、set、zset、hash 等多种数据类型,因此它也被称为“数据结构服务器”;
  • Redis 支持主从同步,即 master-slave 主从复制模式。数据可以从主服务器向任意数量的从服务器上同步,有效地保证数据的安全性;
  • Redis 支持多种编程语言,包括 C、C++、Python、Java、PHP、Ruby、Lua 等语言。

Redis 6.0版本前一直是单线程方式处理用户的请求;

单线程为何如此快?

  • 纯内存
  • 非阻塞
  • 避免线程切换和竞态消耗

Redis 没有提供新建数据库的操作,因为它自带了 16 (0—15)个数据库(默认使用 0 库)。在同一个库中,key 是唯一存在的、不允许重复的,它就像一把“密钥”,只能打开一把“锁”。键值存储的本质就是使用 key 来标识 value,当想要检索 value 时,必须使用与 value 相对应的 key 进行查找。

3、redis 对比 memcached

memcachedredis
类型key-valuekey-value
过期策略支持支持
数据类型单一数据类型五大数据类型
持久化不支持支持
主从复制不支持支持
虚拟内存不支持支持

4、redis 典型应用场景:

  • Session 共享:常见于web集群中的Tomcat或者PHP中多web服务器session共享;
  • 缓存:数据查询、电商网站商品信息、新闻内容;
  • 计数器:访问排行榜、商品浏览数等和次数相关的数值统计场景;
  • 微博/微信社交场合:共同好友,粉丝数,关注,点赞评论等;
  • 消息队列:ELK的日志缓存、部分业务的订阅发布系统;
  • 地理位置: 基于GEO(地理信息定位),实现摇一摇,附近的人,外卖等功能;

5、Redis下载与安装:

注意:Windows 系统可以下载安装非官方的 Redis 版本,不过其使用性能远不如 Linux 系统。

这里我们在centos7上部署安装Redis 5.0.7版本:

rpm源码包下载地址:wget https://download.redis.io/releases/redis-5.0.7.tar.gz

#关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0

#安装依赖包
yum install -y gcc gcc-c++ make

#下载软件包
cd /opt
wget https://download.redis.io/releases/redis-5.0.7.tar.gz
tar zxf redis-5.0.7.tar.gz 
cd redis-5.0.7/
make
make PREFIX=/usr/local/redis install

#由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。

在这里插入图片描述
在这里插入图片描述

cd /opt/redis-5.0.7/utils
./install_server.sh
#。。。。一直回车到这一步
#需要手动修改为可执行文件路径,注意要一次性正确输入
Please select the redis executable path [] /usr/local/redis/bin/redis-server

在这里插入图片描述

把redis的可执行程序文件放入路径环境变量的目录中便于系统识别;

ln -s /usr/local/redis/bin/* /usr/local/bin/

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认侦听端口为6379
ss -natp | grep 6379

在这里插入图片描述

Redis服务控制:

/etc/init.d/redis_6379 stop                    #停止
/etc/init.d/redis_6379 start                   #启动
/etc/init.d/redis_6379 restart                 #重启
/etc/init.d/redis_6379 status                  #查看状态
#修改配置/etc/redis/6379.conf 参数
#70行,添加,监听的主机地址
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.111.100

#修改配置后要重启Redis
/etc/init.d/redis_6379 restart

在这里插入图片描述

Redis 命令工具:

redis-server用于启动 Redis的工具
redis-benchmark用于检测Redis在本机的运行效率
redis-check-aof修复AoF持久化文件
redis-check-rdb修复RDB持久化文件
redis-cliRedis 命令行工具

redis-benchmark 测试工具

语法: redis-benchmark [选项] [选项值]

-h :指定服务器主机名。
-P :指定服务器端口。
-s :指定服务器socket
-c :指定并发连接数。
-n :指定请求数。
-d :以字节的形式指定SET/GET值的数据大小。
-k : 1=keep alive 0=reconnect 。
-r : SET/GET/INCR 使用随机key, SADD 使用随机值。
-P :通过管道传输请求。
-q :强制退出redis。 仅显示query/sec值。
–csv :以 CSV 格式输出。
-l :生成循环,永久执行测试。
-t :仅运行以逗号分隔的测试命令列表。,
-I :Idle 模式。仅打开 N 个 idle 连接并等待。

#向IP地址为192.168.111.100、 端口为6379的Redis 服务器发送100 个并发连接与100000 个请求测试性能
redis-benchmark -h 192.168.111.100 -P 6379 -c 100 -n 100000
#测试存取大小为100字节的数据包的性能
redis-benchmark -h 192.168.111.100 -P 6379 -q -d 100
#测试本机上 Redis 服务在进行 set 与lpush 操作时的性能
redis-benchmark -t set,lpush -n 100000 -q

redis-cli 命令行工具:

---redis-cli 命令行工具------
redis-cli  -h 192.168.111.100 -p 6379 -a 123123 -n 数据库序号(0-15)
-h:指定远程主机地址
-p:指定redis服务端口
-a:指定密码,未设置数据库密码可以省略-a选项
-n:指定数据库序号,默认是序号0,redis有16个库(0-15)
若不添加任何选型表示,则使用127.0.0.1:6379 连接本机上的redis 数据库

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:45:16  更:2021-12-09 11:45:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:43:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码