redis数据库学习随笔

NoSQL数据库分类
1.键值(Key-Value)存储数据库
相关数据库:Redis
应用: 内容缓存,主要用于处理大量数据的高访问负载
数据模型: 一系列键值对
优势: 快速查询
劣势: 存储的数据缺少结构化 列存储数据库
2.文档型数据库
相关数据库:MongoDB
应用:Web应用(与Key-Value类似,Value是结构化的) 数据模型: 一系列键值对
优势:数据结构要求不严格
劣势: 查询性能不高,而且缺乏统一的查询语法

3.图形(Graph)数据库

相关数据库:Neo4J、InfoGrid、Infinite Graph
典型应用:社交网络 数据模型:图结构
优势:利用图结构相关算法。
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。

Redis:

  • 关系型数据库 和 非关系型数据库:

关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据库是基于特殊的结构,并将数据存储到内存的数据库。从性能上而言,nosql数据库要优于关系型数据库,从安全性上而言关系型数据库要优于nosql数据库,所以在实际开发中一个项目中nosql和关系型数据库会一起使用,达到性能和安全性的双保证。

  • redis是一种高级的key-value的存储系统
    其中的key是字符串类型,尽可能满足如下几点:

    key不要太长,最好不要超过1024个字节,这不仅会消耗内存还会降低查找 效率
    key不要太短,如果太短会降低key的可读性
    在项目中,key最好有一个统一的命名规范(根据企业的需求)

  • 其中value 支持的数据类型有:
    1.字符串-string
    在这里插入图片描述

    2.list (List类型是按照插入顺序排序的字符串链表)
    redis数据库学习随笔_第1张图片

    3.set(可以将Set类型看作为没有排序的字符集合)
    redis数据库学习随笔_第2张图片

    4.hash
    redis数据库学习随笔_第3张图片

Jedis是Redis官方推荐的面向Java的操作Redis的客户端,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis,而是在其上在封装一层,作为业务的使用;
spring-data-redis提供了redis的java客户端的抽象,在开发中可以忽略掉切换具体的客户端所带来的影响,而且他本身就属于spring的一部分,比起单纯的使用jedis,更加稳定.管理起来更加自动化

参考文章

你可能感兴趣的:(开发总结,学习笔记,nosql,redis)