微博用户注册

整个的流程是:
1:首先注册用户填写用户信息,先写入到db中
2:然后在存储数据到redis的hash结构中 key=”reg:user:id”

package com.kuangstudy.controller.reg;
import com.kuangstudy.entity.User;
import com.kuangstudy.service.UserService;
import com.kuangstudy.vo.R;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import sun.reflect.generics.visitor.Reifier;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/*** @description:* @author: xuke* @time: 2021/5/22 20:05*/
@RestController
public class RegController {@Autowiredprivate UserService userService;@Autowiredprivate RedisTemplate redisTemplate;@PostMapping("reguser")@ApiOperation("用户注册")public R regUser(User user) {// 1: 先把用户注册到DB中userService.saveOrUpdate(user);// 2: 然后查询最新的用户信息放入到redis的hash重User user1 = userService.getById(user.getId());Map<String, Object> map = R.beanToMap(user1);// 3: 准备用存入的key,将用户信息存入到redis的hash中String key = "reg:user:" + user.getId();redisTemplate.opsForHash().putAll(key, map);// 4: 设置key的失效时间一个月redisTemplate.expire(key, 30, TimeUnit.DAYS);return R.ok();}
}

微博发送

package com.kuangstudy.service.list;
import com.kuangstudy.entity.Content;
import com.kuangstudy.utils.ObjectUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.MapFactoryBean;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/*** @description:* @author: xuke* @time: 2021/6/11 23:37*/
@Service
@Slf4j
public class PushContentService {@Autowiredprivate RedisTemplate redisTemplate;public Content saveContent(Content content) {// 1: 保存内容到db中// 2: 把保存的内容写入到hash中Map<String, Object> stringObjectMap = null;try {stringObjectMap = ObjectUtils.objectToMap(content);String key = "weibo:content:" + content.getId();// 3: 把微博的内容保存到hash中HashOperations<String, String, Object> opsForHash = redisTemplate.opsForHash();opsForHash.putAll(key, stringObjectMap);// 4: 设置微博的有效期是30天过期this.redisTemplate.expire(key, 30, TimeUnit.DAYS);return content;} catch (IllegalAccessException e) {e.printStackTrace();return null;}}
}

Redis实现微博用户注册amp;发送微博相关推荐

  1. 微博时光机定时发送微博

    西安钟楼微博我估计应该是程序自动发的,谁半夜起来发微博. 昨晚加班的时候试了试api,可以做到. 1. 新浪微博开放平台API for .Net SDK   http://weibosdk.codep ...

  2. java实现微博后台登录后台发送微博

    首先你需要有个微博开发者账号,我们需要的是App Key和App Secre及redirect_URI,公司原本就有所以这一步 省下来了,百度搜下有很多. 好了现在开始: 首先我在网上找到了这个代码 ...

  3. Redis数据结构Hash应用场景-存储商品、购物车、淘宝短链接、分布式Session、用户注册、发微博功能

    Hash应用场景 Hash Hash应用场景 redis存储java对象常用String,那为什么还要用hash来存储? SpringBoot+redis+hash存储商品数据 短链接 场景1:淘宝短 ...

  4. Redis实战:如何构建类微博的亿级社交平台

    微博及 Twitter 这两大社交平台都重度依赖 Redis 来承载海量用户访问.本文介绍如何使用 Redis 来设计一个社交系统,以及如何扩展 Redis 让其能够承载上亿用户的访问规模. 虽然单台 ...

  5. 新浪微博登陆以及发送微博(附python源码)

    原文链接(本人):https://blog.csdn.net/A5878989/article/details/76275855 说明 本文主要记录分析新浪微博登陆以及发送文字和图片微博的详细过程 分 ...

  6. 模拟微博用户注册的程序【使用了HashSet集合实现】

    1.实验内容 (1)程序编写:编写一个模拟微博用户注册的程序,要求使用HashSet集合实现.假设用户输入用户名.密码.确认密码.生日(输入格式为yyyy-MM-dd为正确).邮箱(包含符号" ...

  7. php微博互粉源码,PHP实现微博的同步发送

    准备工作 作为新浪微博的开发者,需要有身份验证: 个人身份认证的审核,一般一个工作日: 接着是提交网站的审核,境内的就是提交备案号.境外的提交所在网站的境外证明即可:也是一个工作日左右: 通过个人身份 ...

  8. 用 Python 自动化实战,自动登录并发送微博

    作者 | 13妖.老表 来源 | 简说Python 一.软件准备 1.安装Python 环境 首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具. 如果你还没有安装,可以参考以 ...

  9. java 实现微博推送_编写调用新浪微博API的Java程序来发送微博

    首先,需要下载新浪微博的sdk,这里附上地址:http://vdisk.weibo.com/s/z7ifc2gccwc1b 下载完了之后解压,然后打开myeclipse,新建项目,再把刚才解压出来的i ...

最新文章

  1. Java控制内存的功力
  2. python利器的使用-图文详解python开发利器之ulipad的使用实践
  3. Boost智能指针——weak_ptr
  4. 香港一小巴侧翻致1死16伤 警方:未见机件故障
  5. android地图方位角_Android获取经纬度、计算距离、方位角
  6. python元组为什么不可变_为什么python字符串和元组是不可变的?
  7. python兼容js base64_前端base64编码的坑
  8. JSP — 知识总结篇《I》【基础语法】
  9. 【Python实例第21讲】确定类个数的silhouette分析法
  10. opencv Camshift
  11. eXeScope 使用中的小技巧
  12. 更换tomcat 地址栏图标
  13. 20200827 plecs blockset更新版本
  14. Memcached详解
  15. 技术管理角度看C++游戏程序员发展
  16. 线性代数中的线性方程组
  17. php模板读取工具,打造自己的php半自动化代码审计工具
  18. 设计模式六大原则的理解与归纳
  19. Forexclub:澳元陷入美元漩涡
  20. 计算机屏幕尺寸像素点距概念,电脑屏幕分辨率多少比较好

热门文章

  1. (C++的对话)Solmyr 的小品文系列之二:模棱两可的陷阱
  2. 读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测
  3. html body keydown,jQuery的keydown()方法有什么用?
  4. 【js】让IE8能够响应媒体查询
  5. Streamsets使用过程中遇到的问题及解决办法
  6. 机器人机器学习环境框架搭建—从ubuntu到mujoco仿真实现(第一篇):ubuntu18.04的安装
  7. 务实java基础之IO
  8. vscode插件推荐(个人使用)
  9. 上传excel文件到服务器
  10. JavaScript设计模式——组合模式