//小人

Redis基础知识

redis是一个高性能key-value数据库,也是NoSql数据库,是为了解决高并发高扩展,大数据存储等问题而产生的数据库解决方案,是一个非关系型数据库,并且Redis是基于内存的单线程数据库6.0之后支持多线程

NoSql优点

  1.满足对数据库高并发读写需求

  2.满足对海量数据的高效率存储和访问

  3.对数据库的高扩展性和高可用性的需求

主要的NoSql数据库

分类 数据库 应用场景 数据类型 优点 缺点

键值对

(key-value)

Redis,

Tokyo,

Oracle BDB

内容缓存主要用于处理大量数据的高访问负载,也用于一些日志系统 key指向value的键值对,通常用HashTable来实现 查询速度快 数据无结构化,通常只被当作字符串或二进制数据
列表存储

Cassandra,

HBase,

Rlak

分布式文件系统 以列族式存储,将同一列数据存储在一起 查询速度快,可扩展性强,更容易进行分布式扩展 功能相对局限
文档型数据库

CouchDB,

MongoDB

web应用(与key-value类似,value是结构化的,不同的是数据库可以了解value的内容) key-value对应的键值对,value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高而且缺乏统一性的查询语法
图形数据库

Neo4J,

InfoGrid,

Infinter Graph

社交网络,推荐系统等,专注于构建关系图谱 图结构 利用图结构相关算法,比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案

 

redis功能

  1.缓存

  2.计数

     3.共享session

  4.限流

redis为什么快

  1.完全基于内存绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)

  2.数据结构简单,对数据库操作也简单,数据类型:String,Hashes,Lists,Sets,Zset,Geospatial(地理位置),Hyperloglog,Bitmaps;

  3.采用单线程,避免了不必要的上下文切换,也不存在多进程或多线程切换而消耗cpu,不用去考虑各种锁的问题

  4.使用多路I/O复用模型。非阻塞IO

  5.使用底层模型不同,Redis自己构建了VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求

posted @   H_Q  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示