redis

(1)服务器经常崩是因为:
海量用户,高并发
(2)在于关系型数据库:
性能瓶颈:磁盘io性能低下
扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群。
(3)解决方案:
降低磁盘io次数,越低越好 ----内存存储
去除数据之间的关系,越简单越好----不存储关系,仅存储数据
(4)nosql:
作用:应对基于海量用户和海量数据前提下的数据处理问题。
特征:可扩容,可伸缩。 大数据量下高性能。 灵活的数据模型。 高可用


image.png

(5)概念:
redis是一个用c语言开发的一个开源的高性能键值对(key-value)数据库
特征:数据间没有必然的联系
内部采用单线程机制进行工作
多数据支持:
字符串,列表,散列hash, 集合set , 有序集合类型sorted_set
持久化支持,可以进行数据容灾。
(6)应用:
为热点数据加速查询
消息队列,如秒杀,抢购。
即时信息
分布式数据共享
(7)操作:
1.设置key,value值
信息添加:set key value
查询值:get key名
注意:key是一个字符串
删除数据:del key名
查看值长度:strlen key名
查看多个数据:mget key1 key2 key3
添加与修改多个值:mget key1 value1 key2 value2
增加/减少 一个单位值 incr/decr key名
增加/减少 指定数量 incrby/decrby key名

(8)string操作扩展
设置数据具有指定的生命周期:
setex key 时间(second) value
在redis中用json的格式保存数据:
set user:id:00789 {id:00789,blogs:789,fans:123456789}
表名:主键名:主键值:字段名
(9)数据最大储存量:512MB

(10)hash
hash类型:底层使用哈希表结构实现数据存储
如果field数量比较少,存储结构优化为类数组结构
如果field数量比较多,存储结构优化为hashmap结构

添加/修改数据
hset key field value
获取数据
hget key field
hgetall key 注意:获取全部的执行效率很低
删除数据
hdel key field1 [field2]

hash多个数据操作


image.png

hash扩展操作:
获取哈希表欧中所有的字段名与字段值
hkeys key
hvals key
设置指定字段的数值数据增加指定范围的值
hincrby key field 数量

注意:hash类型下的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象,hash不能存储大量的数据

(11)hash应用场景:
电商网站购物车:


业务分析

image.png

你可能感兴趣的:(redis)