在互联网发展的早期,那还是一个各路军阀混战,实战为王的时代,没有所谓正规军,搞定问题才是王道。

当然,那个时期也没有那么多问题,互联网还是个新鲜的词汇,能被称作是网民的人也都是“稀有物种”,上网多半是大户人家才玩的起的高端奢侈品。

从技术的角度来看,那时还处在Web应用发展的初期,互联网技术架构还是最原始的单体架构,因为此时的网民数量还是很少,一个服务器完全足够扛起用户的访问的压力。

这个时期的关系型数据库得到了较为广泛的关注和应用,网站访问量谈不上什么高并发、更别说什么用户体验了。

但是转眼到现在,中国的互联网发展已经是发生了天翻地覆的变化,也早已经不是当年那个“吴下阿蒙”。在如今这个不提三高(高并发、高可用、高性能)都不好意思说自己是个程序猿。

现在单纯的依靠关系型数据库已经无法满足的我们的业务需求了,更何况当今在云计算、大数据、人工智能盛行的时代,对技术的需求也更加的多元化。

现在网络上每天都会产生庞大的数据,这些数据有很大一部分是由关系型数据库来处理,其严谨成熟的数学理论基础使得数据建模和应用程序编程更加简单。

然而,由于数据量级很大而且包含有大量的无规律的数据,而我们如果想要更好的利用这些数据,对数据的处理和存储的重要性也越来越高,如果还仅仅依赖关系型数据库显然是不太现实的。所以,此时非关系型数据库(NoSQL)就应运而生了,

接下来让我们看看什么是非关系型数据库。

所谓非关系型数据库,其实是相对于关系型数据库而说的,我们都知道关系型数据库通常都是处理一些结构化的数据,这些数据通常都是有某些对应关系。

非关系型数据库(NoSQL)通常用于存储那些类型不固定的,也没有什么规律的数据。现在的企业每天都产生大量的数据过程中,非关系型数据库的应用非常广泛,应用场景也非常多,比如:缓存等,目前比较常用的非关系型数据库有

  • Redis
  • Memcache
  • MongoDb
  • HBase

今天咱们就为大家解读其中一个非常优秀且用的非常多的非关系型数据库-Redis。

非关系型数据库之Redis,提到Redis可谓是无人不知无人不晓,当然是在程序猿这个可爱的群体中;不管你是从事Python、Java、Go,还是世界上最好的语言PHP开发,Redis都应该是一个比较熟悉的中间件产品。Redis是一个Key-Value 存储结构,它支持存储的value 类型非常丰富:

  • string(字符串)
  • hash(哈希)
  • list(列表)
  • set(无序集合)
  • zset(sorted set:有序集合)

在Java开发过程中Redis的应用场景也非常多,比如:缓存、秒杀、分布式锁等;接下来咱么就来一睹Redis芳容。

走进Redis实战俗话说的好:"光说不练假把式,光练不说傻把式,连说带练全把式",所以接下来,咱们就连说代练的实操一把

开发环境介绍

首先介绍一下我们的开发环境,这里咱们是基于Java语言使用IDEA做为开发工具,使用Spring Boot来集成Redis。(Redis的安装内容,大家可以按照自己的习惯使用Windows版、Linux版本都可以。)

使用Spring Data Redis操作Redis

Java中操作Redis的方案很多,我们使用目前最主流的Spring Boot Redis,从名称上我们就可以看出来,这又是Spring对操作Redis的客户端的封装,没错Spring就是这么优秀。

我们知道在SpringBoot中默认集成的就是Spring Data Redis,它提供了针对Redis提供了非常方便的操作模板类RedisTemplate;那么接下来我们就来看看Spring Boot中Spring Data Redis的具体用法。

Tips:在spring中凡是以XxxTemplate命名的类,都是Spring提供的操作xxx的模板类。如:RedisTemplate就是操作Redis的模板类

创建项目工程

使用Spring Initializr创建Spring Boot基础工程,引入Redis依赖有两种方式:

1.直接在pom文件中加入redis依赖

2.在创建项目的时候直接勾选Spring Boot Redis

添加Redis配置信息

在application.properties中添加redis的相关配置信息

实战操作

接下来咱么来编写一个测试类,存储一个字符串类型的数据,并且取出来验证是否存储成功

RedisTemplate模板类提供了对5种数据结构操作的方法,其他的数据类型大家感兴趣可以自己去试下,使用方式都是一样的

  • redisTemplate.opsForValue() 操作string
  • redisTemplate.opsForHash() 操作hash
  • redisTemplate.opsForList() 操作list
  • redisTemplate.opsForSet() 操作set
  • redisTemplate.opsForZSet() 操作有序set

实战测试结果如下:

结果表明我们从redis中取出的数据和存储的数据是一样的,说明我们在spring中使用Spring Data Redis是成功的,是不是很简单呢,马上动手练练吧

python引入redis_实操演练解读非关系型数据库—Redis相关推荐

  1. 添加lua_非关系型数据库Redis之Lua脚本

    [本文详细介绍了非关系型数据库Redis中Lua脚本的基本概念和使用方法,欢迎读者朋友们阅读.转发和收藏!] 1 Lua 简介 Lua 是一个小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用 ...

  2. 【机房报修管理系统】后端篇(九) 在SpringBoot配置非关系型数据库Redis

    原 [机房报修管理系统]后端篇(九) 在SpringBoot配置非关系型数据库Redis 2019年01月10日 14:18:48 CheungChingYin 阅读数:15 一.前情提要 在上一篇文 ...

  3. 非关系型数据库-redis应用场景

    关系型数据库与非关系型数据库 ----redis的应用场景: 1.redis由于数据的读取和操作都在内存当中操作,读写的效率较高,所以经常被用来做数据的缓存.把一些需要频繁访问的数据,而且在短时间之内 ...

  4. 介绍非关系型数据库redis

    介绍非关系型数据库redis 关系型和非关系型数据库 关系型数据库 非关系型数据库 两个数据库的区别 数据存储方式不同 扩展方式不同 多事务支持性不同 非关系型数据库的产生背景 基于"三高& ...

  5. NOSQL 非关系型数据库(redis)

    NOSQL 非关系型数据库(redis) ---------------------------------------------------------- 0. NoSQL 产品(key-valu ...

  6. 轻松掌握非关系型数据库Redis

    关系型数据库与nosql数据库区别 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 优点: 易于维护:都是使用表结构,格式一致: 使用方便:SQL语言通用,可用于复杂查询 ...

  7. 非关系型数据库——Redis

    文章目录 前言 一.Redis是什么? 二.特点 三.应用场景 四.NoSQL 五.常用命令 1 Redis 字符串(String) 2 Redis 哈希(Hash) 3 Redis 列表(List) ...

  8. Redis基于内存非关系型数据库

    Redis基于内存非关系型数据库 Redis:非关系型数据库介绍 特点及优点 1.开源的,使用C编写,基于内存且支持持久化,一般内存的东东关机重启就消失,但它不会. 2.高性能的Key-Value的N ...

  9. 荐读:Xilinx ZYNQ 动手实操演练

    今天给大侠带来Xilinx ZYNQ 动手实操演练,话不多说,上货.当我们一提到 Xilinx ZYNQ,大家脑海大多数就会浮现一个描述的词汇,高端,其实这个词很贴切的形容了Zynq系列产品,Xili ...

最新文章

  1. Js中substr,substring,slice截取字符串的异同
  2. Spring ClassPathXmlApplicationContext
  3. thriftserver的SparkSQL命令行操作Hive表
  4. 工信部:2020年启动5G商用
  5. 在JavaScript控制台中包含jQuery
  6. windows创建任务计划(周期执行bat脚本)
  7. Ajax中的get和post两种请求方式的异同
  8. 编一程序,将两个字符串连接起来,不要用strcat函数。C语言
  9. QT修改QPushButton的背景色和文字颜色
  10. 水瓶的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  11. Oracle统计分析
  12. 多个txt文件合并成一个文本
  13. C# 类似PS的魔棒工具(1)
  14. LeetCode刷题之python解法(持续更新)
  15. 和吴昊一起玩推理(第二季首映式)Round 11 —— 从无有到无穷
  16. MyEclipse下载地址
  17. 如何理解LTE中的天线端口和端口数?
  18. TDS 以及 FDS 光谱系统的成像光束
  19. 换掉 Java 8 !Java 1718 新特性真香
  20. 极速实时荧光定量PCR仪助力科研检测

热门文章

  1. 深度学习基础(十一)—— 稀疏自编码器(二)
  2. Linux 动态链接和静态链接简析(库名与库文件名)
  3. oracle call 存储过程 带out_详解oracle数据库存储过程调试方法
  4. 控制虚拟服务器的软件,虚拟主机控制面板
  5. python没基础能自学吗-需要自学python吗?大概多久能学会?
  6. 学python要什么基础-学Python首先要学什么?
  7. python怎么读取txt文件-python怎么读取txt文件内容
  8. python能做什么软件-python可以编写什么软件
  9. 零基础学python-从0开始学Python,0基础小白
  10. 学python需要什么基础-学习Python需要哪些基础知识?