热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis_day01_入门

一、nosql概述1.1nosql的演变1.1.1单机MySQL的美好时代在90年代,一个网站的访问量一版都不大,用单个受苦可以完全应对。在那个

一、nosql概述


1.1 nosql的演变


1.1.1 单机MySQL的美好时代

在90年代,一个网站的访问量一版都不大,用单个受苦可以完全应对。

在那个时候,更多是静态网页,动态交互类型的网站不多。

上述架构下,数据存储的瓶颈是:

1、数据总量的总大小,一个机器放不下时

2、数据的索引(B+Tree),一个机器放不下时

3、访问量(访问量)一个实力不能承受


1.1.2 Memcached(缓存)+MySQL+垂直拆分

后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上开始出现了性能问题,web程序不再仅仅专注在功能上,同是也在追求性能。

程序员们开始大量的使用缓存技术缓解数据库的压力,优化数据库的结构和索引

开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带来了比较高的IO压力。

在这个时候,Memcached就自然成为一个非常时尚的技术产品


1.1.3MySQL主从读写分离

由于数据库的写入压力增加,Memcached只能给你缓解数据库的读取压力。

读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制的技术来达到读写分离,以提高读写性能和读库的可扩展性。

MySQL的master-slave模式成为这个时候的网站标配了。


1.1 为什么要使用nosql

用户的个人信息,社交网络、地理位置,用户自己产生的数据,用户日志等等爆发式增长!


1.2 什么是nosql?

nosql = not only SQL(不仅仅是SQL)

泛指非关系型数据库,随着web2.0互联网诞生!传统的关系型数据库很难对付web2.0时代,尤其是超大规模的高并发的社区

用户的个人信息,社交网络、地理位置,这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩展


1.3 nosql的特点

方便扩展(数据之间没有关系,很好扩展)

大数据量高性能(redis每秒写8万,读取11万,nosql的缓存记录即,是一种细粒度的缓存,性能会比较高)

数据类型书多样性的(不需要事先设计数据库!随取随用,如果数据量十分大的表,很多人就无法设计了)


1.4 传统RDBMS和nosql


1.4.1 传统RDBMS

结构化组织

SQL

数据和关系都存在单独的表中

数据操作语音,数据定义语言

严格的一致性

基础的事务

...


1.4.2 nosql

不仅仅是数据

没有固定的查询语言

键值对存储,列存储,文档存储,入刑数据库

最终一致性

CAP定理和BASE(异地多活!)

高性能,高可用,高可扩


二、使用场景

 


三、jredis使用


3.1 下载地址

redis下载


3.2 单例连接

@Test
public void testJedisSingle(){//1 设置ip地址和端口Jedis jedis = new Jedis("192.168.137.128", 6379);//2 设置数据jedis.set("name", "itheima");//3 获得数据String name = jedis.get("name");System.out.println(name);//4 释放资源jedis.close();
}

3.3 连接池连接

@Test
public void testJedisPool(){//1 获得连接池配置对象,设置配置项JedisPoolConfig cOnfig= new JedisPoolConfig();// 1.1 最大连接数config.setMaxTotal(30);// 1.2 最大空闲连接数config.setMaxIdle(10);//2 获得连接池JedisPool jedisPool = new JedisPool(config, "192.168.137.128", 6379);//3 获得核心对象Jedis jedis = null;try {jedis = jedisPool.getResource();//4 设置数据jedis.set("name", "itcast");//5 获得数据String name = jedis.get("name");System.out.println(name);} catch (Exception e) {e.printStackTrace();} finally{if(jedis != null){jedis.close();}// 虚拟机关闭时,释放pool资源if(jedisPool != null){jedisPool.close();}}
}

 


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本教程详细介绍了如何使用 Spring Boot 创建一个简单的 Hello World 应用程序。适合初学者快速上手。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • B站服务器故障影响豆瓣评分?别担心,阿里巴巴架构师分享预防策略与技术方案
    13日晚上,在视频观看高峰时段,B站出现了服务器故障,引发网友在各大平台上的广泛吐槽。这一事件导致了连锁反应,大量用户纷纷涌入A站、豆瓣和晋江等平台,给这些网站带来了突如其来的流量压力。为了防止类似问题的发生,阿里巴巴架构师分享了一系列预防策略和技术方案,包括负载均衡、弹性伸缩和容灾备份等措施,以确保系统的稳定性和可靠性。 ... [详细]
author-avatar
天才愤青2_735
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有