Redis入门(一)

news/2024/12/14 7:51:21/

第1章 NoSQL

1.1 NoSQL数据库

1.1.1 NoSQL是什么

(1)NoSQL(Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
(2)NoSQL不拘泥于关系型数据库的设计范式,放弃了通用的技术标准,为某一领域特定场景而设计,从而使性能、容量、扩展性都达到了一定程度的突破。

1.1.2 NoSQL的特点

(1)不遵循SQL标准
(2)不支持ACID
(3)远超于SQL的性能。

1.1.3 NoSQL的适用场景

(1)对数据高并发的读写
(2)海量数据的读写
(3)对数据高可扩展性的

1.1.4 NoSQL的不适用场景

(1)需要事务支持
(2)基于sql的结构化查询存储,处理复杂的关系,需要即席查询。
(3)用不着sql的和用了sql也不行的情况,请考虑用NoSql

1.2 NoSQL家族

1)Memcached
(1)很早出现的NoSQL数据库
(2)数据都在内存中,一般不持久化
(3)支持简单的key-value模式,数据类型支持单一
(4)一般是作为缓存数据库辅助持久化的数据库
2)Redis
(1)几乎覆盖了Memcached的绝大部分功能
(2)数据都在内存中,支持持久化(写到磁盘),主要用作备份恢复
(3)支持丰富的数据类型,例如 string 、 list 、 set、zset、hash等
(4)一般是作为缓存数据库辅助持久化的数据库
缓存:临时存储
假如有很多客户端对MySQL进行每秒1000W次查询,MySQL肯定扛不住这么高的并发请求【性能有上限】,将MySQL的数据同步到Redis中,让先请求客户端对Redis先进行查询,如果没有就查询MySQL然后同步到Redis中,后面的客户端就可以对Redis进行查询!Redis 每秒100W ops,性能非常强大!
3)mongoDB
(1)高性能、开源、模式自由的文档型数据库(网页中的XML JSON数据)
(2)数据都在内存中,如果内存不足,把不常用的数据保存到硬盘
(3)虽然是key-value模式,但是对value(尤其是json)提供了丰富的查询功能
(4)支持二进制数据及大型对象
(5)可以根据数据的特点替代RDBMS(关系数据库管理系统),成为独立的数据库。或者配合RDBMS,存储特定的数据
4)HBase
(1)Hbase是Hadoop项目的数据库,主要用于对大量数据进行随机、实时的读写操作.
(2)Hbase能支持到数十亿行 × 百万列的数据表
5)Cassandra
(1)Cassandra用于管理由大量商用服务器构建起来的庞大集群上的海量数据集(PB级)
6)Neo4j
(1)Neo4j是基于图结构的数据库,一般用于构建社交网络、交通网络、地图等

第2章 Redis简介

2.1 Redis官网

(1)Redis官方网站 http://Redis.io
(2)Redis中文官方网站 http://www.Redis.net.cn(山寨网站)
在这里插入图片描述
Redis也可以做流式引擎(不过大数据领域一般选择kafka)以及消息中间件

2.2 Redis是什么

(1)Redis是一个开源的key-value存储系统。 不用建库也不用建表
(2)它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set)和hash(哈希类型)。
(3)Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件 支持持久化
(4)支持高可用和集群模式。

2.3 Redis的应用场景

2.3.1 配合关系型数据库做高速缓存

(1)高频次,热门访问的数据,降低数据库IO
(2)经典的Cache Aside Pattern(旁路缓存模式)
在这里插入图片描述

2.3.2 大数据场景

1)缓存
(1)高频次
(2)读写时效性高
(3)总数据量不大
(4)临时性
(5)用key查询
在这里插入图片描述
2)数据库
(1)高频次写入
(2)高频次查询
(3)总数据量不大,且对丢失数据不敏感
在这里插入图片描述

2.3.3 利用其多样的数据结构存储特定的数据

(1)最新N个数据  通过List实现按自然事件排序的数据
(2)排行榜,TopN  利用zset(有序集合)
(3)时效性的数据,比如手机验证码 Expire过期
(4)计数器,秒杀  原子性,自增方法INCR、DECR 防止超卖!
(5)去除大量数据中的重复数据 利用set集合
(6)构建队列利用list集合
(7)发布订阅消息系统  pub/sub模式

第3章 Redis安装

3.1 关于Redis版本

不用考虑在Windows环境下对Redis的支持,Redis官方没有提供对Windows环境的支持,是微软的开源小组开发了对Redis对Windows的支持 很多(淘宝 微信等)后台都是Redis

3.2 安装

1)安装新版gcc编译器(大部分数据库都是C语言编写,需要gcc)
在102机器安装Redis就在102上安装gcc

[aa ~]$ sudo yum -y install gcc-c++ 

2)上传redis-6.2.1.tar.gz安装包到/opt/software目录下
3)解压redis-6.2.1.tar.gz到/opt/module目录下 (跟着视频来,老师解压到software)

[aa software]# tar -zxvf redis-6.2.1.tar.gz -C /opt/module/

tar -zxvf redis-6.2.1.tar.gz 解压到当前目录

4)之后进入安装包的src目录,编辑Makefile文件,修改软件安装路径如下:

[aa src]$ vim Makefile

#修改如下

PREFIX?=/home/aa
[aa src]$ make && make install

在这里插入图片描述

3.3 查看安装目录 /home/aa/bin

(1)Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)
(2)Redis-check-aof:修复有问题的AOF文件
(3)Redis-check-dump:修复有问题的RDB文件
(4)Redis-sentinel:启动Redis哨兵服务
(5)redis-server:Redis服务器启动命令
(6)redis-cli:客户端,操作入口
在这里插入图片描述

3.4 Redis的启动

1)拷贝一份redis.conf配置文件到工作目录

[aa ~]$ mkdir myredis
[aa ~]$ cd myredis
[aa myredis]$ cp /opt/module/redis-6.2.1/redis.conf .

2)绑定主机IP,修改bind属性

[aa myredis]$ vim redis.conf
bind 0.0.0.0

3)指定配置文件进行启动 启动服务端

[aa myredis]$ redis-server redis.conf

在这里插入图片描述

3.5 客户端访问

1)使用redis-cli 命令访问启动好的Redis,默认端口为6379

[aa myredis]$ redis-cli 
127.0.0.1:6379> 
  • 服务端关闭:1 在redis服务端CTRl+C 2 优雅关机,客户端执行shutdown
    2)如果有多个Redis同时启动,或者端口做了修改,则需指定端口号访问
[aa myredis]$ redis-cli -p 6379
127.0.0.1:6379>

3)如果访问非本机redis,需要指定host来访问

[aa myredis]$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>

4)通过 ping 命令测试验证

127.0.0.1:6379> ping
PONG

windows的Redis客户端进行访问
在这里插入图片描述
在这里插入图片描述

3.6 关闭Redis服务

如果还未通过客户端访问,可直接 redis-cli shutdown
[aa@hadoop102 myredis]$ redis-cli shutdown
如果已经进入客户端,直接 shutdown即可.

127.0.0.1:6379> shutdown

Jps是看不到redis的相关进程! Jps是java process status

3.6.1查看redis进程 ps -ef | grep redis

在这里插入图片描述
杀死进程!

kill -9 6463

http://www.ppmy.cn/news/420654.html

相关文章

DELL 6248交换机常用配置示例

将 running-config 文件保存为 startup-config 文件。这可确保刚刚完成的配置在交换机重新引导后保持不变。 console(config)#exit console#copy running-config startup-config 此时交换机完成配置,并可通过不同的选项(例如, Telnet、 We…

赛天网吧无盘服务器,200台MZD无盘网吧解决方案.docx

斯普林无盘,网吧的春天 ----自己动手组建一个200台的中型无盘网吧 2006年,网吧产业迎来发展的春天。“吧”风四起,随着网吧行业的不断发展,网吧 的经营者们面临着越来越多崭新的问题。如何能让自己的网吧紧跟市场的需要&#xff0…

啊,第一次月赛天杀的散步题目

00001:郭姐散步 总时间限制: 1000ms 内存限制: 32768kB 描述 The first lady of our lab is GuoJie, GuoJie likes walking very much. Today GuoJie walks from the original point (0, 0), everytime he(may be she?) can go up or left or right a step. But she cant …

Python-天池新人赛天猫优惠券O2O预测数学建模赛

比赛官网:天池新人实战赛o2o优惠券使用预测 O2O(Online to Offline)消费是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台。以优惠券盘活老用户或吸引新客户进店消费是O2O的一种重要营销方式。通过个性化投放优惠券…

赛天服务器主板怎么看型号,赛天EC602服务器RAID组建方法.DOC

赛天E5 RAID组建方法及注意事项说明 目 录 TOC \o "1-3" \h \z \u 一,总述 h 2 二、赛天E5系列PCH LSI RAID组建3 三、赛天E5系列SCU及PCH INTEL RAID组建6 四、赛天E5系列 PIKE 9230 RAID组建方法9 五、9230在WINDOWS操作系统里面的RAID组建方法12 六.注…

赛天服务器怎么做系统,赛天EC602服务器RAID组建方法.doc

赛天E5 RAID组建方法及注意事项说明 目 录 TOC \o "1-3" \h \z \u HYPERLINK 一,总述 2 HYPERLINK 二、赛天E5系列PCH LSI RAID组建3 HYPERLINK 三、赛天E5系列SCU及PCH INTEL RAID组建6 HYPERLINK 四、赛天E5系列 PIKE 9230 RAID组建方法9 五、9230在WINDOWS操作系统…

必学KVM技术详解包括所有技能

KVM虚拟化进阶学习 一,KVM命令行安装 图形化安装教程:https://blog.csdn.net/weixin_53678904/article/details/125950867?spm1001.2014.3001.5501 1.存储池管理 ​ KVM必须要配置⼀个⽬录当作他存储磁盘镜像(存储卷)的⽬录,我们称这个⽬…

MybatisPlus自动填充

当数据类型出现updateuser,createuser等通用字段字段发生更改的时候,我们一般在service层对通用数据进行填充,在MybatisPlus的功能中可以对指定字段进行填充 实体类表明字段 实体类 package com.example.ruiji.Entity;import com.baomidou.mybatisplus.annotation.FieldFill;…