Nosql
即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。 Nosql 作用:应对基于海量用户和海量数据前提下的数据处理问题。
特征
降低磁盘IO次数,越低越好 —— 内存存储
去除数据间关系,越简单越好 —— 不存储关系,仅存储数据
可扩容,可伸缩,灵活的数据类型,高可用
常见的NOsql数据库
Redis memcache HBase MongoDB
应用场景
Redis
特征:
- 数据间没有必然的关联关系
- 内部采用单线程机制进行工作
- 高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s
- 多数据类型支持 字符串类型 string 列表类型 list 散列类型 hash 集合类型 set 有序集合类型 sorted_set
- 持久化支持。可以进行数据灾难恢复
基本操作
信息添加:设置key , value数据
set key value : set name itheima
信息查询:根据key查询相关的value
get key :get name
清除屏幕信息
clear
退出客户端命令行模式
- quit
- exit
帮助:获取命令帮助文档,获取组中所有命令信息名称
- help 命令名称
- help @组名
数据储存类型介绍
- string String
- hash HashMap
- list LinkedList
- set HashSet
- sorted_set TreeSet
String
数据类型
redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储,
数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串
- 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
- 存储数据的格式:一个存储空间保存一个数据
- 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用
基本操作
添加、修改数据 set key value
获取数据 get key
删除数据 del key
扩展操作
string 作为数值操作
string在redis内部存储默认就是一个字符串,当遇到增减类操作incr,decr时会转成数值型进行计算。 redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发 带来的数据影响。 注意:按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。 9223372036854775807(java中long型数据最大值,Long.MAX_VALUE)
list的顺序特征
set
sorted_set
score不是真正的存储数据,只是用来排序的字段
求交的同时进行了求和
![]()