Redis字符串数据结构的使用场景

各位晚上好,这几天复习一下Redis中的数据结构。

首先,字符串类型是Redis最基础的数据结构。首先,键(key)都是字符串类型,而且在Redis中的其他数据结构都是在字符串类型的基础上构建的。字符串类型的值实际可以是字符串(简单字符串、JSON或XML字符串),数字,甚至是二进制,但大小有限制(512M)。

那么,字符串数据结构的应用场景都有哪些呢?

应用场景一:缓存

先看示意图:

Web服务先从Redis中获取数据,如果命中,则对数据进行反序列化后直接返回,若在Redis中没有查询到,则去存储层获取数据返回给Web,并将获取到的信息序列化后存入到Redis。

应用场景二:共享Session。

在一个分布式Web服务中,往往会将用户的Session信息(比如,登录成功后的用户名等信息)保存在不同的服务器中,然而,出于负载均衡的考虑,分布式服务会将用户的访问均衡到不同服务器上,这样,当用户刷新一次访问可能会发现需要重新登录,这就比较尴尬了!

这时,可以将用户需要保存的Session信息集中管理,保存到Redis中。如图:

应用场景三:限速

我们都会有这样的体验,使用某平台时,不能在一分钟内重复提交多次,那么,Redis就可以完成这样的功能。

伪代码如下:

phoneNum="151xxxxxx"

key="shortMsg:limit:"+phoneNum;

isExists=redis.set(key,1,"EX 60","NX");

if(isExists!=null redis.incr(key)

// 可以访问,通过

}else{

// 不能访问,限速

}

那句“redis.set(key,1,"EX 60","NX");”的意思是在60秒之内不能对某个key设置值,而且该key60秒后过期。

今天的内容就是这些,明天再见。

各位,冲啊!

本文来自企鹅号 - 攀言媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

如何提升Java应用程序性能

【摘要】本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践。最后研究了JVM特定的调优技巧、数据库端的...

1927
来自专栏HappenLee的技术杂谈

流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16

在流处理之中,当输入是文件时,第一个处理步骤通常是将其解析为一连串的记录。在流处理之中,记录通常被称为事件,每个事件都是一个小的、独立的、不可变的对象,通常每个...

773
来自专栏Golang语言社区

转--Stackful 协程库 libgo(单机100万协程)

libgo 是一个使用 C++ 编写的协作式调度的stackful协程库, 同时也是一个强大的并行编程库。 设计之初是为高并发分布式Linux服务端程序开发提供...

4779
来自专栏求索之路

Effective Java笔记(不含反序列化、并发、注解和枚举)

最近把Effective Java复习了一遍,其中有比较多的java最佳实践可以在平时编程中用到。反序列化、并发、注解和枚举这四章没看,并发这本书里讲的比较简...

33811
来自专栏PHP实战技术

PHP ob_start() 函数介绍

php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数。

3559
来自专栏進无尽的文章

设计模式| 行为型模式 (上)

行为型模式共十一种:策略模式、模板方法模式、观察者模式、迭代器模式、解释器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式。 分两篇文...

812
来自专栏IT派

Python3.7中一种懒加载的方式

Python3.7在模块上也添加了__getattr__()和__dir__()两个方法。这个新特性让我们能够实现一些有趣的事情。例如,通过定义__dir__方...

1060
来自专栏企鹅号快讯

如何提升Java应用程序性能

作者 | Eugen Paraschiv 翻译 | 雁惊寒 【摘要】本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代...

2078
来自专栏ImportSource

厕读:每日一题,面试无忧

2. 下面关于java.lang.Exception类的说法正确的是() A 继承自Throwable B Serialable CD 不记...

3425
来自专栏PHP在线

FastCgi与PHP-fpm之间的关系

刚开始对这个问题我也挺纠结的,看了《HTTP权威指南》后,感觉清晰了不少。 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的...

3646

扫码关注云+社区