Redis数据库

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

Redis

1.1 什么是NoSql

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

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

1.2 Nosql数据库分类

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

相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB

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

数据模型:一系列键值对

优势:快速查询

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

n 列存储数据库

相关产品:Cassandra, HBase, Riak

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

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

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

劣势:功能相对局限

n 文档型数据库

相关产品:CouchDB、MongoDB

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

数据模型:一系列键值对

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

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

n 图形(Graph)数据库

相关数据库:Neo4J、InfoGrid、Infinite 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 Sanfilippo将Redis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一

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

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

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

浪微博、街旁网、知乎网,国外如GitHub、Stack Overflow、Flickr等都是Redis的用户。

VMware公司从2010年开始赞助Redis的开发, Salvatore Sanfilippo和Pieter 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)删除key为course3的内容

image.png

(4)查看所有值

image.png

(5)向course4后追加内容

image.png

(6)获取course1中值的长度

image.png

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

(1)使订单号依次增加1

image.png

(2)使订单号依次增加3

image.png

相关文章
|
8月前
|
机器学习/深度学习 存储 数据可视化
智能外呼产品推荐:瓴羊 Quick Service 如何重塑企业客户交互
瓴羊Quick Service是阿里云推出的智能外呼数字员工,基于通义大模型,具备复合意图识别(准确率93.2%)、情感感知、系统联动与业务闭环能力,支持电商催付、快递回访等场景自动执行,业务自动完成率达78%,已助力星巴克、伊利等企业提升转化与满意度。
|
存储 缓存 UED
【已解决】任务栏图标显示异常问题
【已解决】任务栏图标显示异常问题
|
人工智能 搜索推荐 大数据
2025年电商API发展趋势:智能化与个性化
2025年,电商API在人工智能与大数据推动下加速智能化、个性化发展。从智能库存预警到情境感知推荐,技术驱动效率跃升与体验升级。预计个性化API调用占比达75%,智能决策渗透率超90%,开发成本下降60%。电商API正从“功能连接器”进化为“智能服务中枢”,重构用户体验与商业生态。
大尺度信道建模 | 带你读《大规模天线波束赋形技术原理与设计 》之二十四
本节将介绍 3D 信道模型中 不同传输场景的大尺度衰落模型,包括路损计算、穿透损耗、直射径概率、阴 影衰落等。
大尺度信道建模  | 带你读《大规模天线波束赋形技术原理与设计 》之二十四
|
存储 监控 应用服务中间件
服务器硬件基础知识
服务器硬件基础知识
|
机器学习/深度学习 资源调度 计算机视觉
YOLOv11改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新
YOLOv11改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新
449 0
YOLOv11改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新
|
数据采集 人工智能 自然语言处理
基于OpenLake的大模型训练及RAG应用
本文介绍了OpenLake在大数据与AI融合方面的应用,重点探讨了如何通过OpenLake打通数据到应用的各个环节。首先,阐述了自然语言处理(NLP)从非结构化数据向结构化数据的转变,并强调了高质量数据对AI模型训练的重要性。接着,详细介绍了OpenLake+PAI平台如何实现大数据与AI的一体化开发,包括数据预处理、多模态数据管理、智能标注及优化推理效率等。最后,结合OpenSearch,展示了RAG(检索增强生成)技术在企业级应用中的挑战与解决方案,如构建稳定高效的检索系统,确保数据安全与准确性。整体方案旨在提升AI模型的效果和安全性,推动各行业的智能化转型。
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
存储 人工智能 API
瞭望塔丨AI 与云,融合创新
未来,云和 AI 结合一定会成为新的生产力。
|
存储 JavaScript 容器
【Vue面试题十一】、Vue组件之间的通信方式都有哪些?
这篇文章介绍了Vue中组件间通信的8种方式,包括`props`传递、`$emit`事件触发、`ref`、`EventBus`、`$parent`或`$root`、`attrs`与`listeners`、`provide`与`inject`以及`Vuex`,以解决不同关系组件间的数据共享问题。

热门文章

最新文章