Redis_2-1 五种基本数据类型之string

数据存储类型介绍

业务数据的特殊性

一、作为缓存使用
1、原始业务功能设计

	秒杀、618活动、双11活动、排队购票

2、运营平台监控到的突发高频访问数据

	突发时政要闻,被强势关注围观

3、高频、复杂的统计数据

在线人数、投票排行榜

二、附加功能
系统功能优化或升级

但服务器升级集群
Session管理
Token管理

三、Redis数据类型(5种常用)

String			String
hash			HashMap
list			LinkedList链表
set				HahSet
sorted_set		TreeSet

Redis数据存储格式

Redis自身是一个Map,其中所有的数据都是采用key:value的形式存储
数据类型指的是存储的数据的类型,也就是value部分的类型,key部分永远都是字符串
Redis_2-1 五种基本数据类型之string_第1张图片

五种数据类型

一、string

Redis_2-1 五种基本数据类型之string_第2张图片
Redis_2-1 五种基本数据类型之string_第3张图片
Redis_2-1 五种基本数据类型之string_第4张图片

string类型数据的扩展操作

业务场景1
Redis_2-1 五种基本数据类型之string_第5张图片
解决方案

设置数值数据增加指定范围的值
	incr key//key自增1
	incrby key increment	//自定义自增的大小,increment的大小可以为负数
	increbyfloat key increment//自定义数值增加的值(小数)
设置数值数据减少指定范围的值
	decr key//key值自减1
	decrby key increment//自定义自减的大小,increment的大小可以为负数

string作为数值操作

1、string再redis内部存储默认就是一个字符串,当遇到增减类操作incr、decr时会转成数值型进行计算
2、redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响
3、注意:按数值进行操作的数据,如果院士数据不能转成数据,或超越了redis数值上限范围,将报错(java中long型数据最大值:9223372036854775807)

Tips1:
	redis用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性
	此方案使用于所有数据库,且支持数据库集群

业务场景2
Redis_2-1 五种基本数据类型之string_第6张图片
解决方案

设置数据具有指定的生命周期
	setex key seconds value				设置数据的有效时间(秒)
	psetex key milliseconds value		毫秒

Tips2:
	redis控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性控制的操作

string类型数据操作的注意事项:

数据操作不成功的反馈与数据正常操作之间的差异
	①表示运行结果是否成功
		(integer)0-->false	失败
		(integer)1-->true		成功
	②表示运行结果值
		(integer)3-->3		3个
		(integer)1-->1		1个
数据未获取到
	nil 相当于 null
数据最大存储量
	512MB
数据计算最大范围(java中long的最大值)
	±9223372036854775807

业务场景3
Redis_2-1 五种基本数据类型之string_第7张图片
解决方案:

1、在redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定定时刷新策略即可
	eg:	user:id:00078:fans	123456789(粉丝数)
	eg:	user:id:00078:blogs	12345(博客篇数)
	eg:	user:id:00078:focus	23
2、在redis中以json格式存储大V用户信息,定数刷新(也可以使用hash类型)
	eg:	user:id:0078 {id:0078,name:春晚,fans:12345,blogs:123456789,focus:23}

Tips3:
	redis应用于各种结构性和非结构性高热读数据访问加速

Redis_2-1 五种基本数据类型之string_第8张图片

key的设置约定
数据库中的热点数据key命名管理
Redis_2-1 五种基本数据类型之string_第9张图片

你可能感兴趣的:(Redis,redis)