Redis数据库

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 这段内容介绍了NoSQL数据库的概念和分类,以及Redis的详情和历史发展。NoSQL是一种为解决高并发、高可扩展性和大数据存储问题而设计的非关系型数据库。它主要有四种类型:键值存储(如Redis)、列存储(如HBase)、文档型(如MongoDB)和图形数据库。Redis是一个高性能的键值对数据库,支持多种数据类型,常用于内容缓存。Redis由Salvatore Sanfilippo开发,因其优秀性能获得了广泛使用,后来被VMware赞助并持续发展。练习部分引导读者进行Redis的安装及字符串类型的基本操作,包括存储、修改、删除、查看、追加和获取长度,以及利用其递增特性生成订单号。

Redis

1.1 什么是NoSql

为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方案,就是NoSql数据库。

NoSQL,泛指非关系型的数据库,NoSQLNot-Only SQL,它可以作为关系型数据库的良好补充。

1.2 Nosql数据库分类

n 键值(Key-Value)存储数据库

相关产品: Tokyo Cabinet/TyrantRedisVoldemortBerkeley DB

典型应用:内容缓存,主要用于处理大量数据的高访问负载。

数据模型:一系列键值对

优势:快速查询

劣势:存储的数据缺少结构化

n 列存储数据库

相关产品:Cassandra, HBase, Riak

典型应用:分布式的文件系统

数据模型:以列簇式存储,将同一列数据存在一起

优势:查找速度快,可扩展性强,更容易进行分布式扩展

劣势:功能相对局限

n 文档型数据库

相关产品:CouchDBMongoDB

典型应用:Web应用(与Key-Value类似,Value是结构化的)

数据模型:一系列键值对

优势:数据结构要求不严格

劣势:查询性能不高,而且缺乏统一的查询语法

n 图形(Graph)数据库

相关数据库:Neo4JInfoGridInfinite Graph

典型应用:社交网络

数据模型:图结构

优势:利用图结构相关算法。

劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。1.3 什么是Redis

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型

来适应不同场景下的存储需求,

目前为止Redis支持的键值数据类型如下:

字符串类型

散列类型

列表类型

集合类型

有序集合类型

1.4 redis历史发展

2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而

没过多久该公司的创始人 Salvatore Sanfilippo便对MySQL的性能感到失望,于是他决定亲自为

LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。不过Salvatore

Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年

Salvatore SanfilippoRedis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis

起继续着Redis的开发,直到今天。

Salvatore Sanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。Hacker

News2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新

浪微博、街旁网、知乎网,国外如GitHubStack OverflowFlickr等都是Redis的用户。

VMware公司从2010年开始赞助Redis的开发, Salvatore SanfilippoPieter Noordhuis也分别在3

月和5月加入VMware,全职开发Redis

练习:

1.  安装Redis,并分别测试前端启动和后端启动两种方式

image.png

image.png

2.字符串类型基本操作练习

1)将以下键值对内容存储到redis

键值        

course1      java

course2      big data

course3      cloud computing

course4      php

image.png

(2)修改course4的值为html5

image.png

(3)删除keycourse3的内容

image.png

(4)查看所有值

image.png

(5)course4后追加内容

image.png

(6)获取course1中值的长度

image.png

3.利用string的递增数字特性生成订单号

1)使订单号依次增加1

image.png

2)使订单号依次增加3

image.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
相关文章
|
SQL 存储 数据采集
【技术分享】元数据与数据血缘实现思路
【技术分享】元数据与数据血缘实现思路
5926 0
|
资源调度 负载均衡 Kubernetes
【Flink on Yarn的三种部署方式详细介绍,及应用场景】
Flink on Yarn的三种部署方式,Session模式,Per-Job模式,application模式,他们为何会诞生,我们要用哪种模式来部署
1448 1
【Flink on Yarn的三种部署方式详细介绍,及应用场景】
|
SQL
Dbeaver的模板功能
Dbeaver的使用技巧
2853 0
Dbeaver的模板功能
|
数据采集 存储 运维
DAMA数据管理知识体系指南(3):数据治理
DAMA:国际数据管理协会,是一个全球性数据管理和业务专业志愿人士组成的非营利协会,是当前国际上在数据治理领域最权威的机构。 DMBOK2则是DAMA组织众多数据管理领域的国际级资深专家编著,深入阐述数据管理各领域的完整知识体系。它是市场上唯一综合了数据管理方方面面的一部权威性著作。 本系列文章,将针对DMBOK中的核心内容进行解读。
DAMA数据管理知识体系指南(3):数据治理
|
前端开发 JavaScript 数据处理
前端新手指南:如何解决JavaScript导出CSV文件不完整的问题
【6月更文挑战第4天】在JavaScript中处理CSV文件时,需要特别注意一些特殊字符,例如逗号、双引号、换行符等。这些字符可能会影响CSV文件的解析,导致数据错乱。
352 0
|
11月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
6302 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
SQL 存储 数据可视化
【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage
【开源项目推荐】通用SQL数据血缘分析工具——Sqllineage
965 57
|
消息中间件 数据可视化 Kafka
kafka可视化工具
kafka可视化工具
547 0
|
JSON 算法 安全
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证
近年来,随着前后端分离、微服务等架构的兴起,传统的cookie+session身份验证模式已经逐渐被基于Token的身份验证模式取代。接下来介绍如何在Spring Boot项目中集成JWT实现Token验证。
SpringBoot从入门到精通(三十四)如何集成JWT实现Token验证