后端开发学习(三)

redis五种数据结构

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合zset

(一)string

关联锁
set key value:将字符串值value关联到key
如果key已经有其他值,set就覆写旧值,无视类型

setnx key value:将key的值设为value,当且仅当key不存在,若给定的key已经存在,则setnx 不做任何动作

计数器
INCR article:readout:{文章id}
GET article:readout:{文章id}

分布式系统全局序列号
INCRBY orderID 1000 //redis批量生成序列号提升性能

(二)hash

对象缓存
HMSET user {userID}:name zhuge {userID}:balance 1888
优化方式:外层的key可以分片

例子:购物车操作
用户id 为key 商品id为field 商品数量为value
添加商品:hset cart:1001 10088 1
增加数量:hincrby cart:1001 10088 1
商品总数:hlen cart:1001
删除商品:hdel cart:1001 10088
获取所有商品:hgetall cart:1001

(三)list

LPUSH key value[value…] 从左边放元素
Rpush key value[value…] 从右边放元素
LPOP key 从左边拿元素
RPOP key 从右边拿元素

例子:微博消息和公众号消息
阿信发微博,消息id为10018
LPUSH msg:{阿信-ID} 10018
查看最新消息:LRANGE msg:{阿信-id} 0 4
可以用管道分批

(四)set

sadd key number
srem key number 删除元素
scard key 所有元素的个数
操作
交集SINTER set1 set2 set3
并集SUNION set1 set2 set3
差集SDIFF set1 set2 set3 (1减去2和3的并集)

例子:抽奖小程序
SADD key {userid} 加入集合
SMEMBERS key 查看所有元素
SRANDMEMBER key [count] 随机抽取,但是抽取的元素还在原集合内
SPOP act:1001 3 随机抽取 三个,但是这三个元素不在原集合内了

例子:点赞、收藏
点赞 SADD like:{消息id} {用户id}
取消点赞 SREM like:{消息id} {用户id}
检测用户是否点赞 SISMEMBER like:{消息id} {用户id}所有
所有点赞用户:SMEMBERS like:{消息id}

例子:共同关注
sinter 用交集
我关注的人也关注它 用sismember
可能认识的人 用sdiff差集

(五)zset

zset集合操作实现排行榜
点击新闻: zincrby hotnews:20190819 1 xxx
排行榜前十: zrevrange hotnews:20190819 0 9 withscores(倒序前十)zrange 是正序
七日排行榜: zunionstore hotnews:20190813-20190819 7(并集)
zinterstore 交集

Java后端开发学习是一个很好的选择!以下是一些步骤和资源,可以帮助你开始学习Java后端开发: 1. 学习Java语言基础:了解Java的基本语法、数据类型、控制流程等。你可以参考一些经典的Java教材或者在线教程。 2. 学习面向对象编程(OOP):Java是一门面向对象的编程语言,理解OOP的概念和原则对于后端开发至关重要。 3. 掌握Java核心库:学习Java的核心库,如集合框架、IO操作、多线程等。这些是Java后端开发中常用的工具和技术。 4. 学习数据库和SQL:后端开发经常需要与数据库进行交互,学习关系型数据库(如MySQL)和SQL语言是必备的技能。 5. 学习常用的Java后端框架:熟悉一些常用的Java后端框架,如Spring、Spring Boot等。这些框架可以帮助你快速开发高效的后端应用。 6. 实践项目:通过实践项目来巩固所学知识,可以参与开源项目或者自己构建一些小型项目。 7. 持续学习和保持实践:后端开发是一个不断进步的领域,不断学习和保持实践是提升自己的关键。 此外,以下是一些学习Java后端开发的资源推荐: - 免费在线教程:Oracle官方的Java教程、W3School的Java教程等。 - 书籍:《Effective Java》、《Java编程思想》等经典的Java编程书籍。 - 在线课程:Coursera、Udemy、慕课网等平台上都有很多Java后端开发的在线课程。 希望这些信息对你有帮助!祝你在Java后端开发学习中取得成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值