首页 > 数据库 >01 基本框架:一个键值数据库包含什么

01 基本框架:一个键值数据库包含什么

时间:2024-02-19 16:37:52浏览次数:34  
标签:01 数据库 Redis value 键值 内存 SimpleKV

01 基本框架:一个键值数据库包含什么

前言:对蒋德钧老师的《Redis 核心技术与实战》课程的学习记录。

构造简单的键值数据库 SimpleKV

考虑里面可以存什么样的数据,对数据可以做什么样的操作,也就是数据模型和操作接口。

对于键值数据库而言,基本的数据模型是 key-value 模型。

Redis 能够在实际业务场景中得到广泛的应用,就是得益于支持多样化类型的 value

PUT/GET/DELETE/SCAN 是一个键值数据库的基本操作集合。

键值对保存在内存,读写很快。潜在的风险是一旦掉电,所有的数据都会丢失。

键值对保存在外存,可以避免数据丢失,但是受限于磁盘的慢速读写,键值数据库的整体性能会被拉低。

SimpleKV 的基本组件

大体来说,一个键值数据库包括了访问框架、索引模块、操作模块和存储模块四部分。

索引的作用是让键值数据库根据 key 找到相应 value 的存储位置,进而执行操作。 Redis 采用哈希表作为 key-value 索引。

内存键值数据库(例如 Redis)采用哈希表作为索引,很大一部分原因在于,其键值数据基本都是保存在内存中的,而内存的高性能随机访问特性可以很好地与哈希表 O(1) 的操作复杂度相匹配

从 SimpleKV 演进到 Redis的几点变化:

  1. Redis 主要通过网络框架进行访问,不再是动态库,使得 Redis 作为一个基础性的网络服务进行访问,扩大了 Redis 的应用范围。
  2. Redis 数据模型中的 value 类型很丰富,因此也带来了更多的操作接口。
  3. Redis 的持久化模块能支持两种方式:日志(AOF)和快照(RDB)。
  4. SimpleKV 是个简单的单机键值数据库,Redis 支持高可靠集群和高可扩展集群。

标签:01,数据库,Redis,value,键值,内存,SimpleKV
From: https://www.cnblogs.com/itiancong/p/18021397

相关文章

  • Linux下oracle数据库安装
    1.环境准备:关闭防火墙,禁用开机自启防火墙关闭selinux配置网络IP静态地址添加组groupadddbagroupaddoinstall创建Oracle用户:useradd-d/home/oracle-goinstall-Gdba-moracle设计密码: passwdoracle 创建Oracle目录 mkdir-p/u01/app/oracle/product/11......
  • 代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树
    二叉搜索树的最近公共祖先 题目链接:235.二叉搜索树的最近公共祖先-力扣(LeetCode)思路:只要利用二叉搜索树特性,只要当前节点的值位于要求的两个节点之间,就必定是我们要找的节点。最简单的一集。classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,......
  • 爬虫——day01
    爬虫介绍爬虫是什么? -通过编程技术---》把互联网中的数据---》获取到---》数据清洗---》存到库中python:request,selenium---》app,小程序,网站---》xpaht,lxml---》mysql,redis,文件,excel,mongodb-通过编程语言---》模拟发送http请求---》获取数据---》解析--》入库......
  • Android家庭记账本开发第四天:SQLite数据库操作
    SQlite数据库是一个轻量级的数据库,被用在嵌入式设备上,2019年6月还在流行的两大移动终端操作系统,Android和ios都支持这款数据库。AndroidSDK中有一个包android.database.sqlite,其中专门对SQLite数据库进行了封装,并提供了一套供android使用的API。SQLiteOpenHelper 类包含一组用......
  • 代码随想录算法训练营第二十二天 | 450.删除二叉搜索树中的节点, 701.二叉搜索树中的
     450.删除二叉搜索树中的节点 已解答中等 相关标签相关企业 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点......
  • Office Online Server Windows Server 2016 部署
    一、准备“武器”本文是通过虚拟机搭建OOS测试环境的,4567是3的前提,武器提取le731、VMWareWorkstation17Player2、WindowsServer2016镜像(需要OfficeOnlineServer2017年4月或更高版本)3、OfficeOnlineServer2016(简称OOS)4、NETFramework4.5.2(NDP452-KB2901......
  • P1012 [NOIP1998 提高组] 拼数
    题目 源代码一、错误示范1//去比较最高位数字的大小,大的在前面(ASCII比较)2//使用字符串存储多个数字3#include<iostream>4#include<algorithm>5usingnamespacestd;6structstu7{8strings;9}student[25];10boolcmp(stua,stub)11{......
  • 01 MySQL的基本架构
    前言:记录对林晓斌老师的《MySQL实战45讲》课程学习路程。01MySQL的基本架构MySQL的逻辑架构图MySQL分为Server层和存储引擎层两部分。Server层功能:实现所有跨存储引擎的功能,比如存储过程、触发器、视图等。连接器、查询缓存、分析器、优化器、执行器等,以及......
  • 查询 MMDB 数据库
    importjava.io.File;importjava.net.InetAddress;importcom.fasterxml.jackson.databind.JsonNode;importcom.maxmind.db.Reader;publicclassIpDemo{publicstaticvoidmain(String[]args)throwsException{Filedatabase=newFile("re......
  • centos 7安装sql server 2019
    1.下载安装包: 参考地址:https://packages.microsoft.com/rhel/7/mssql-server-2019/mssql-server-15.0.4083.2-15.x86_64.rpm 找一个自己喜欢的版本,下载下来。或者找大神们的百度网盘也行。2.将文件拷贝到虚拟机目录,运行如下命令开始安装。 3.安装的时候出现缺少依赖包,使......