工作中关于redis应用的总结

本文介绍了Redis在实际工作中的应用场景,包括计数器、用户信息存储、产品详情缓存、定时清除对象及积分排名等功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中用到的缓存技术有memcache,redis,常用的缓存技术是redis,它和memcache一样,数据都是缓存在内存中的。区别是redis会周期性把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且支持主从同步。提供了五种数据类型:String,hash,list,set及sorted set。
遇到应用场景如下:
1,计数器。比如购买某商品后,购买人数增加1,调用hincrBy(key,field,value)方法,比如key可以是商品的购买数量"user_count_key",field可以是商品的编码"product_code",value就是1。如果key不存在会创建一个key持有一个hash,如果key存在,field不存在就会设置field的值为0。比如商品的实际卖出金额也可以放在redis缓存中用于判断是否超过最大额等等,由于redis的原子性保证了并发计数的可靠性。它支持64位有符号的整数范围。所以调用该方法即可以增加也可以减少。
2,存储用户的信息:比如用户输入邀请码后验证通过后调用hset(key,field,value)存起来,后续的下单,支付时再次取出来调用hget(key,field,value)验证,支付成功后调用hdel删除使之失效。key可以用用户的uid表示。field可以用product_code表示,value就是用户输入验证通过的邀请码。
3,缓存产品的详情信息(编辑后不经常变)提高性能,根据productCode查询某产品的对象先调用get(key)方法获得某code的商品,如果不为null调用set(key,objcetValue),否则去数据库查询重新set(key)。如果后台编辑更改商品详情要求重新前段马上展现更新后的商品信息,这时需要提清除缓存的方法del(key)。
4,定时清除某些商品对象:如expire(key, 60*5);//缓存5分钟后失效。
5,取积分前100名的用户:列出积分前100名用户,每次获得用户的新积分可以调用:zadd(String key, double score, String value),调用zrevrange(String key, int start, int end)就可以得到
暂时想到这些应用,在后续的工作中还会遇到redis的其它一些应用,也会随时补充的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值