
随着互联网的发展,用户的账号越来越多,如何保证账号的安全成为一个当务之急的问题,其中的重要手段之一就是图片验证码,但是随着验证码的复杂度越来越高,一些用户会遇到由于记不住验证码而造成的安全问题,因此如何重拾记忆成为一个新的课题。
为了解决这一问题,可以使用redis来实现图片验证码的刷新功能。首先使用String类型来创建存储验证码内容的key,并像下面这样进行设置:
String code = UUID.randomUUID.toString;//生成一个验证码
redis.set(code, code);//将验证码存储到redis中
接着就可以通过以下代码检查验证码的有效性:
String code_in_redis = redis.get(code);
if(!code.equals(code_in_redis)){
// 验证码不匹配
如果用户提交的验证码正确,在获取验证码完成后,我们可以使用以下一行代码来对其进行更新:
redis.expire(code, 60); //让验证码60秒后失效
Redis提供了1到2s的数据读取时间,故此方案可以有效的重新获得图片验证码的解决方案。
另外,Redis也支持使用高可用技术创建集群,可以有效的提高系统的可靠性和稳定性,并减少单台 服务器 的并发压力。
以上就是使用Redis来实现图片验证码的刷新的方法,它可以为用户提供更简单的记忆方法,从而起到了重拾记忆的效果。 但也应该注意,此方案仅是一种初级的安全保护,使用时仍需采取其他措施来保护账号信息,比如分布式手机验证。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

如何使用RedisDesktopManager创建hash列表数据
首先启动RedisDesktopManager客户端,连接到redis服务器(连接方式这里不再详细描述)。 选择其中一个db,右击选择Add new key填写key的名称,这里注意type类型需要选择list,然后在value框里面填写值的内容添加完成之后,如果没有显示,点击Reload刷新,会在列表中显示刚刚添加的key,右侧显示的是list列表值的详细信息,在这个页面右侧有3个按钮对应value值的新增、删除和重新加载点击右侧Add row可以添加list中的一个元素添加完成之后,如果没有立即显示,点击Reload value重新刷新加载,添加完成之后,会显示在列表详情中还可以删除某个list中的元素,点击Delete row删除,删除完成之后,如果没有刷新,点击Reload value重新加载。

Redis和Memcache的区别分析
1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。 不过memcache还可用于缓存其他东西,例如图片、视频等等。 2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。 Redis可以通过例如expire 设定,例如expire name 105、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。 都可以一主一从6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化)7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复8、Redis支持数据的备份,即master-slave模式的数据备份。
发表评论