存到Redis中,好处是速度快。毕竟写到硬盘需要更多的时间。加入购物车的功能,操作很频繁,可以通过Redis快速写入,移除,修改。

用什么方式呢?

传统的KEY,VALUE不太合适,每次增加修改,都要把VALUE取出,序列化成数组之后,再改变结构,然后序列化存入。

幸好,Redis中有一种哈希的方式。它的特点就是每个KEY下面,包含对应的子KEY,VALUE。这样就方便操作每个用户下的购物车信息了。

用户的购物车标识为:

appid:openid:cart 作为大KEY

购物车中的存储内容为:

pid:sku_id 作为小KEY  pnum 作为小VALUE

hset 存

127.0.0.1:6379> hset appid:openid:cart 3:1 10
(integer) 1

hgetall 取所有

127.0.0.1:6379> hgetall appid:openid:cart
1) "1:1"
2) "1"
3) "1:2"
4) "2"
5) "3:1"
6) "10"

hkeys 取KEY

127.0.0.1:6379> hkeys appid:openid:cart
1) "1:1"
2) "1:2"
3) "3:1"

hvals 取值

127.0.0.1:6379> hvals appid:openid:cart
1) "1"
2) "2"
3) "10"

hdel 删除

127.0.0.1:6379> hdel appid:openid:cart 3:1
(integer) 1

hlen 获取长度

127.0.0.1:6379> hgetall appid:openid:cart
1) "1:1"
2) "1"
3) "1:2"
4) "2"
127.0.0.1:6379> hlen appid:openid:cart
(integer) 2

hset 修改

127.0.0.1:6379> hset appid:openid:cart 3:1 100
(integer) 0
127.0.0.1:6379> hget appid:openid:cart 3:1
"100"

hincrby 增加,减少

127.0.0.1:6379> hget appid:openid:cart 3:1
"100"
127.0.0.1:6379> hincrby appid:openid:cart 3:1 1
(integer) 101
127.0.0.1:6379> hincrby appid:openid:cart 3:1 1
(integer) 102
127.0.0.1:6379> hincrby appid:openid:cart 3:1 -1
(integer) 101
127.0.0.1:6379> hincrby appid:openid:cart 3:1 -1
(integer) 100
127.0.0.1:6379> hincrby appid:openid:cart 3:1 -1
(integer) 99

如何将购物车信息存到Redis中?的更多相关文章

  1. Redis使用场景一,查询出的数据保存到Redis中,下次查询的时候直接从Redis中拿到数据。不用和数据库进行交互。

    maven使用: <!--redis jar包--> <dependency> <groupId>redis.clients</groupId> < ...

  2. 【redis,1】java操作redis: 将string、list、map、自己定义的对象保存到redis中

    一.操作string .list .map 对象 1.引入jar: jedis-2.1.0.jar   2.代码 /**      * @param args      */     public s ...

  3. [python]mysql数据缓存到redis中 取出时候编码问题

    描述: 一个web服务,原先的业务逻辑是把mysql查询的结果缓存在redis中一个小时,加快请求的响应. 现在有个问题就是根据请求的指定的编码返回对应编码的response. 首先是要修改响应的bo ...

  4. Java微信公众号开发----定时获取access_token并保存到redis中

    本人原本是想做微信公众号菜单的创建修改删除等操作的,但是发现需要access_token,通过阅读文档,发现文档要求有以下几点: 1.access_token 获取后有效期是2小时 2.access_ ...

  5. 6、2、2 存到redis 中的验证码

    还没有用到rabittmq @RequestMapping("/getYZM/{phone}") public Object getYZM(@PathVariable String ...

  6. scrapy实现自动抓取51job并分别保存到redis,mongo和mysql数据库中

    项目简介 利用scrapy抓取51job上的python招聘信息,关键词为“python”,范围:全国 利用redis的set数据类型保存抓取过的url,现实避免重复抓取: 利用脚本实现每隔一段时间, ...

  7. redis中使用java脚本实现分布式锁

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/115.html?1455860390 edis被大量用在分布式的环境中,自 ...

  8. flink04 -----1 kafkaSource 2. kafkaSource的偏移量的存储位置 3 将kafka中的数据写入redis中去 4 将kafka中的数据写入mysql中去

    1. kafkaSource 见官方文档 2. kafkaSource的偏移量的存储位置 默认存在kafka的特殊topic中,但也可以设置参数让其不存在kafka的特殊topic中   3   将k ...

  9. redis中key的归类

    redis中可以使用前缀对key进行归类: 例如:key: ITEM_INFO:123456:BASE ITEM_INFO:123456:DESC 作用:方便进行管理 如果把二维表保存到redis中: ...

随机推荐

  1. linux centos6.5 php5.6 安装PHPUnit 5.2.9 (转)

    转自:http://blog.csdn.net/shancunxiaoyazhi/article/details/50765293 操作系统版本:CentOS6.5 PHP版本:5.6 下载phpun ...

  2. Java Eclipse和MyEclipse快捷键

    摘自:http://www.cnblogs.com/lsy131479/p/8487379.html  首先: 常用快捷键 alt+/ - -  万能快捷键 Ctrl+1 - - 快速修复 Eclip ...

  3. JS笔记—01

    1.JS的代码一般在头部写2.当页面载入时,会执行位于body部分的JavaScript当被调用时,位于head部分的JavaScript被执行.3.要对外部的JS文件的一个变量操作,代码是写在内部J ...

  4. ES6知识整理(3)--函数的扩展

    只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 最近上班有点忙的关系,于是文章更新会慢些.只有晚上加完班之后,空余时间才能学习整理.因此完成一篇也可能要几个晚上 ...

  5. 利用cookies跳过登陆验证码

    前言在爬取某些网页时,登陆界面时经常遇到的一个坎,而现在大多数的网站在登陆时都会要求用户填写验证码.当然,我们可以设计一套机器学习的算法去破解验证码,然而,验证码的形式多种多样,稍微变一下(有些甚至是 ...

  6. mysql判断两个时间段是否有交集

    //判断两个时间段是否有交集 private function checkTimeCross($start_time,$end_time){ $sql ) AND ((start_time > ...

  7. linux时间修改-hwclock和date

    修改系统时间date 设定日期:date -s 月/日/年,例如设定日期为2018年12月1日,date -s 12/01/2018(年也可以是两位) 设定时间:date -s hh:mm:ss,例如 ...

  8. P2473 [SCOI2008]奖励关(期望)

    P2473 [SCOI2008]奖励关 $n<=15$,显然的状压 设$f[i][w]$表示前$i$轮,状态$w$的最大期望 蓝后我们发现一个问题:$f[i][w]$可能是非法的 于是我们从$f ...

  9. Program terminated with signal 6, Aborted,有可能啥原因呢?

    Program terminated with signal 6, Aborted,有可能啥原因呢?其中一种原因就是事实上的OOM(虽然/var/log/message中没有标明操作系统kill了进行 ...

  10. java不常用但很有用的问题排查工具(持续完善)

    因为用的频率不是很多,老忘掉,每次都要搜下,特记录下备忘. 查看进程的启动jvm选项 [root@iZ23nn1p4mjZ ~]# jinfo -flags 16603Attaching to pro ...