当前位置: 首页 > news >正文

好的建站软件广州网络seo公司

好的建站软件,广州网络seo公司,中国城乡建设委员会的网站,4399自己做游戏网站项目开发中一些特定的数据我们不一定要关系型数据库来存储&#xff0c;使用非关系型数据库反而更方便读取数据&#xff0c;效率高&#xff0c;这里介绍一下在java中rides的使用 1. 导入rides所需要的相关依赖jar包&#xff08;在pom文件中&#xff09;&#xff1a; <!-- je…
项目开发中一些特定的数据我们不一定要关系型数据库来存储,使用非关系型数据库反而更方便读取数据,效率高,这里介绍一下在java中rides的使用
1. 导入rides所需要的相关依赖jar包(在pom文件中):
		<!-- jedis工具包 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.4.2</version></dependency><!-- gson依赖,用于把对象存在redis中转换格式--><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency>
2. 在applicationContext.xml配置文件中创建rides连接池,以及properties文件的配置:
	<!-- 读取properties配置文件的标签,因为多个文件使用的是一个IOC容器,所以只要在一个文件中读取就可以 --><context:property-placeholder location="classpath:properties/*.properties"/><!-- 配置redis的相关信息 --><!-- Redis连接池的配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxTotal" value="${redis.pool.maxActive}" /><property name="maxIdle" value="${redis.pool.maxIdle}" /><property name="minIdle" value="${redis.pool.minIdle}" /><property name="maxWaitMillis" value="${redis.pool.maxWait}" /><property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /><property name="testOnReturn" value="${redis.pool.testOnReturn}" /></bean><!-- 在java中需要调用redis的地方注入jedisPool这个连接池对象 --><bean id="jedisPool" class="redis.clients.jedis.JedisPool"><constructor-arg index="0" ref="jedisPoolConfig" /><constructor-arg index="1" value="${redis.hostName}" /><constructor-arg index="2" value="${redis.port}" /><constructor-arg index="3" value="${redis.timeout}" /><!--Redis密码 --><!--<constructor-arg index="4" value="${redis.password}" /> --></bean>
redis.hostName=192.168.1.238
redis.port=6379
redis.password=
redis.timeout=5000
redis.pool.maxActive=300
redis.pool.maxIdle=250
redis.pool.minIdle=200
redis.pool.maxWait=3000
redis.pool.testOnBorrow=true
redis.pool.testOnReturn=true
3. 创建一个工具类用来存放可能用到的属性等信息:
/**用来存用户的点赞信息等属性 */
public class RedisKey {//我关注的人的列表public static final String FOLLOW_USER = "follow_user";//关注我的人的列表public static final String FOLLOWED_USER = "followed_user";//我关注的话题列表public static final String FOLLOW_TOPIC = "follow_topic";//我关注的问题列表public static final String FOLLOW_QUESTION = "follow_question";//获得收藏的次数public static final String COLLECTION_COUNT = "collection_count";//获得点赞的次数public static final String ZAN_COUNT = "zan_count";
}
4. rides在java项目中的使用(rides存储对象和实现用户免登陆效果):
  1. 创建一个rides连接池对象Jedis,只用@Autowired
  2. 使用rides存放用户对象信息下面是一个新增用户功能的实现,用到了工具类:通常,点赞,关注人数,收藏数这些信息可以使用rides来存储
@Service
public class UserServiceImp extends BaseServiceImpl<User> implements UserService {//注入一个redis的连接池对象@AutowiredJedisPool jedisPool;@Overridepublic void register(User user) {//初始化redis中的个人信息数据//集合类型可以用 11231:follow_user 112 1132  233//通过连接池对象获得一个连接,相当于从连接池中拿一个连接Jedis jedis =  jedisPool.getResource();//创建一个rides连接对象//存关注的人等集合信息使用sadd()jedis.sadd(user.getId()+":"+RedisKey.FOLLOW_USER, "3","4","5");//存的集合默认null值不适合初始化//存点赞次数集合,数值类型也用string,收藏次数默认值都是“0”jedis.set(user.getId()+":"+RedisKey.ZAN_COUNT, "0");jedis.set(user.getId()+":"+RedisKey.COLLECTION_COUNT, "0");}
}
  1. 将用户对象转换成gson格式的字符串存到rides中(登录的时候把对象信息存到rides中,可以将rides的key存到cookie中):
	@Overridepublic int selectByEmailaPwdaState(User user,HttpSession httpsession,HttpServletResponse response) {//登录成功后将对象存到redis中,转换成gson字符串格式,cookie从redis中获取对象//通过连接池对象获得一个连接,相当于从连接池中拿一个连接Jedis jedis = jedisPool.getResource();Gson gson = new Gson();//创建gson对象//key用随机字符串将转化成json格式的对象存入redisString key = UUID.randomUUID().toString();jedis.setex("SESSION:"+key, 60*60*24*3, gson.toJson(user1));//登录成功后存入cookie,实现免登陆效果//token授权的意思,key随机字符用来调用redis中对象字符串Cookie cookie = new Cookie("token",key);//创建cookie,里面存redis的keycookie.setMaxAge(60*60*24*3);//设置cookie的失效时间cookie.setPath("/");//设置cookie作用域在当前项目下response.addCookie(cookie);//写入cookie}
  1. 在拦截器中通过key取出rides中的值(实现免登录效果):
		//注入一个redis的连接池对象@AutowiredJedisPool jedisPool;//通过连接池对象获得一个连接,相当于从连接池中拿一个连接Jedis jedis = jedisPool.getResource();//根据cookie来判断是否登录//得到所有的cookieCookie[] cookies = req.getCookies();for(Cookie cookie : cookies){//查看cookie中有没有叫token的授权码key,指向的是redis中登录时存的user对象if(cookie.getName().equals("token")){//如果有取出token中的key授权码value去核对String token = cookie.getValue();//在redis中看该授权码对应的信息是否正确String result = jedis.get("SESSION:"+token);if(result==null){//如果在redis中没有对应的信息跳转到登录页面resp.sendRedirect("/login.jsp");return false;}else{//不等于空说明已登录,通过//因为是免登陆效果当退出的时候session已经被清空,需要在这里重新把对象存到sessionGson gson = new Gson();User user = gson.fromJson(result, User.class);req.getSession().setAttribute("user", user);return true;}}}
  1. 删除rides中的某个值,通过key删除某个值:
		//清除redis,删除掉某个keyJedis jedis = jedisPool.getResource();jedis.del("SESSION:"+value);
http://www.hkea.cn/news/259248/

相关文章:

  • 建一个网站需要哪些人广州seo网站推广公司
  • 建设银行etc官方网站搜索引擎优化的七个步骤
  • 做网站需要花钱吗海南百度推广运营中心
  • 做的网站显示图片很慢百度运营公司
  • 青州哪里做网站公司推广渠道
  • 网站面包屑导航怎么做的网推接单平台有哪些
  • 宜昌网站建设兼职百度关键词排名软件
  • 如何让百度快照找到自己的网站营销策划方案ppt模板
  • php网站超市广告软文是什么意思
  • b2c跨境电商宣城网站seo
  • 网站建设一流公司免费网站开发平台
  • 网站开发模式名词外贸谷歌优化
  • 网站素材 下载产品推广渠道
  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管
  • 中国城乡建设部人力网站首页优化落实疫情防控
  • 做网站到底能不能赚钱网络优化工程师前景
  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法