栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

一、Redis简介及安装实操

Java 更新时间:发布时间: 百科书网 趣学号
一、前置知识 (一)常识
  • 磁盘
    1. 寻址:ms
    2. 带宽:G/M
    3. I/O buffer:成本问题
      • 磁盘有磁道和扇区,一扇区 512Byte 带来一个成本变大–索引
      • 4K:操作系统,无论你读多少,都是最少4K从磁盘取
      • 随着文件变大,磁盘I/O会成为瓶颈,导致速度变慢
  • 内存
    1. 寻址:ms
    2. 带宽:很大

补充:

  1. 秒>毫秒>微秒>纳秒 磁盘比内存在寻址上慢了10W倍
  2. 数据在磁盘和内存中,体积不一样(2G在内存可能1.9G)
(二)关系型数据库

如上图所示:

  • 1页:等同于操作系统读取大小,避免浪费(data page 4k)

  • 索引:等同于1页(data page 4k)

    注意: 数据和索引都是存储在硬盘,查询时会在内存中准备一个B+Tree

特点:

  1. 关系型数据库建表时,必须给出schema(架构)

    之所给出schema是因为,这样当插入的时候,如果这行数据有列为null值,会进行占位,当更改数据时,直接在这一列中进行插入即可,避免了空间上的转换

    1. 类型:字节宽度

    2. 存:倾向于行级存储

问题引入:

​ 数据库表很大,性能下降?->表中加索引->增删改变慢->查询速度怎么样?

  1. 1个或少量查询依然很快
  2. 并发大的时候会受磁盘带宽影响速度

所以诞生了内存级别的关系型数据库SAP,HANA,但是如果数据库宕机了那么数据不能保证安全.

最后综合上述,进行折中缓存,从而出现了memcached,redis这样的数据库

注意:

​ 该数据库都依赖于两个基础设施,分别为:

  1. 冯诺依曼体系的硬件
  2. 以太网,tcp/ip网络

扩展:

  • 数据库引擎学习:https://db-engines.com/en/
  • redis中文翻译手册:http://redis.cn/
二、Redis (一)简介

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

当我们学习到redis是value有类型的时候,我们应该想到:

  1. 设想如果没有redis之前,value没有类型的概念,那么应该用什么来表示复杂的数据类型呢?

    使用json来表示,如下图所示.

如果客户端想要从缓存中取出value值

  • memchahce ->返回的所有数据到client需要走网卡IO,且client需要实现代码来解码
  • redis->对客户端来说类型不重要,redis的server对每种类型有自己的方法,用户只需直接调用方法,这样会轻盈很多,本质是解耦(也就是计算向数据移动)

计算向数据移动 https://www.cnblogs.com/blog-of-zxf/p/10827941.html

(二)安装实操

​ 安装环境

  • centos 6.x
  • redis 官网5.x http://download.redis.io/releases/redis-5.0.5.tar.gz
1. yum install wget
2. cd
3. mkdir soft
4. cd soft
5. wget    http://download.redis.io/releases/redis-5.0.5.tar.gz
6. tar xf    redis...tar.gz
7. cd redis-src
8. 看README.md(重点,通过它可以自主学习,各种步骤都里面)
9. make 
	....yum install  gcc  
	....  make distclean
10. make
11. cd src   
	....生成了可执行程序
12. cd ..
13. make install PREFIX=/opt/mashibing/redis5(将执行脚本安装到指定路径)
14.	vi /etc/profile(配置Redis全局环境)
	... export  REDIS_HOME=/opt/mashibing/redis5  
	... export PATH=$PATH:$REDIS_HOME/bin
	... source /etc/profile
15. cd utils
16.	/install_server.sh  (可以执行一次或多次)    
	从安装的过程我们可以得到如下结论:
		a)  一个物理机中可以有多个redis实例(进程),通过port区分    
		b)  可执行程序就一份在目录,但是内存中未来的多个实例需要各自的配置文件,持久化目录等资源    
		c)	执行该命令之后会在linux的目录 > /etc/init.d/**** 下放了一个脚本 redis_6379  
			启动刚才设置的redis服务:service   redis_6379  start/stop/status    
		d)	脚本还会帮你启动!
17. ps -fe |  grep redis  

总结:
	1.下载wget下载工具
	2.添加要安装的文件夹
	3.通过wget在线下载对应的gz包
	4.解压gz包到对应的文件夹
	5.在解压的包中的src中查看README.md(重点:通过README.md文件知道后面的安装步骤)
	6.执行make命令
		如果报错提示差gcc环境,则下载gcc环境,并清理原先make的数据 make distclean
	7.重新执行make命令
	8.将执行脚本安装到指定路径
	9.配置redis全局变量
	10.安装redis服务端(生成在/etc/init.d/中设置的对应脚本,安装完后会自动启动)
	11.通过service   redis_6379  start/stop/status(启动,终止,查看状态)
	12.通过 ps -fe |  grep redis 查看redis进程
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/601560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号