5G移动用户将超30亿 这些特殊挑战需重视
|
edis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景有哪些?一起来看看! 一 字符串 字符串类型是Redis最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但是最大值不能超过512MB。 1.1 内部编码 Redis会根据当前值的类型和长度决定使用哪种内部编码来实现。 字符串类型的内部编码有3种:
1.2 使用场景 1.2.1 缓存 在web服务中,使用MySQL作为数据库,Redis作为缓存。由于Redis具有支撑高并发的特性,通常能起到加速读写和降低后端压力的作用。web端的大多数请求都是从Redis中获取的数据,如果Redis中没有需要的数据,则会从MySQL中去获取,并将获取到的数据写入redis。 1.2.2 计数 Redis中有一个字符串相关的命令incr key,incr命令对值做自增操作,返回结果分为以下三种情况:
比如文章的阅读量,视频的播放量等等都会使用redis来计数,每播放一次,对应的播放量就会加1,同时将这些数据异步存储到数据库中达到持久化的目的。 1.2.3 共享Session 在分布式系统中,用户的每次请求会访问到不同的服务器,这就会导致session不同步的问题,假如一个用来获取用户信息的请求落在A服务器上,获取到用户信息后存入session。下一个请求落在B服务器上,想要从session中获取用户信息就不能正常获取了,因为用户信息的session在服务器A上,为了解决这个问题,使用redis集中管理这些session,将session存入redis,使用的时候直接从redis中获取就可以了。 1.2.4 限速 为了安全考虑,有些网站会对IP进行限制,限制同一IP在一定时间内访问次数不能超过n次。 二 哈希 Redis中,哈希类型是指一个键值对的存储结构。 2.1 内部编码 哈希类型的内部编码有两种:
2.2 使用场景
由于hash类型存储的是一个键值对,比如数据库有以下一个用户表结构 (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
