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

一站式服务平台入口深圳市住建局诚信登记平台

一站式服务平台入口,深圳市住建局诚信登记平台,常州做网站基本流程,网站备案怎么查文章目录 Redis学习Redis简介准备工作Redis常用数据类型介绍各数据类型的特点Redis常用命令字符串操作命令哈希操作命令列表操作命令集合操作命令有序集合操作命令通用操作命令 在Java中操作Redis导入Spring Data Redis坐标配置Redis数据源编写配置类,创建RedisTemp…

文章目录

  • Redis学习
    • Redis简介
    • 准备工作
    • Redis常用数据类型介绍
    • 各数据类型的特点
    • Redis常用命令
      • 字符串操作命令
      • 哈希操作命令
      • 列表操作命令
      • 集合操作命令
      • 有序集合操作命令
      • 通用操作命令
    • 在Java中操作Redis
      • 导入Spring Data Redis坐标
      • 配置Redis数据源
      • 编写配置类,创建RedisTemplate对象
      • 通过RedisTemplate对象操作Redis
  • 店铺营业状态设置
    • 产品需求分析
    • 设置营业状态
    • 代码实现

Redis学习

Redis简介

Redis是一个基于内存的key-value 结构数据库。

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品、资讯、新闻)
  • 企业应用广泛

准备工作

启动redis并与本地服务器连接
双击redis-server.exe文件,之后可以双击redis-cli.exe或redis-cli.exe -h localhost -p 6379与本地服务器连接

下载Another Redis作为图形化工具使用

Redis常用数据类型介绍

在这里插入图片描述

各数据类型的特点

在这里插入图片描述

Redis常用命令

字符串操作命令

在这里插入图片描述
在redis中设置一个指定的key值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置一个key值以及过期时间
在这里插入图片描述
到时会自动删除key
在这里插入图片描述
只有在key不存在时才可以赋值
在这里插入图片描述
在这里插入图片描述

哈希操作命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

列表操作命令

LPUSH可形象类比为头插法
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除队尾的值
在这里插入图片描述
在这里插入图片描述

集合操作命令

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

有序集合操作命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通用操作命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在Java中操作Redis

在这里插入图片描述

导入Spring Data Redis坐标

POM文件中导入

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

配置Redis数据源

application.yml中配置,在spring下面添加。dev中填写真正的数据类

  redis:host: ${sky.redis.host}port: ${sky.redis.port}database: ${sky.redis.database}

编写配置类,创建RedisTemplate对象

在config类中新建对象

package com.sky.config;
@Configuration
@Slf4jpublic class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){RedisTemplate redisTemplate = new RedisTemplate();//设置Redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置Redis中key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}

在上述的 Redis 配置代码中,redisTemplate.setKeySerializer(new StringRedisSerializer()); 设置了 Redis 中 key 的序列化器为 StringRedisSerializer。这是因为 Redis 的 key 通常是字符串,为了方便人类阅读和理解,使用字符串的序列化器将 key 转换为字符串形式存储在 Redis 中。

使用适当的序列化器对于在分布式系统中传输和存储对象是非常重要的。它确保了对象能够以可靠的方式被转换为字节流,并且在反序列化时能够正确还原。选择合适的序列化器也可以影响性能,因为不同的序列化方式有不同的效率和序列化大小。

通过RedisTemplate对象操作Redis

新建测试类进行测试

package com.sky.test;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.*;import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRdisTemplate(){System.out.println(redisTemplate);//操作字符串ValueOperations valueOperations = redisTemplate.opsForValue();//操作哈希HashOperations hashOperations = redisTemplate.opsForHash();ListOperations listOperations = redisTemplate.opsForList();SetOperations setOperations = redisTemplate.opsForSet();ZSetOperations zSetOperations = redisTemplate.opsForZSet();}/*** 操作字符串数据*/@Testpublic void testString(){//set get setex setnxredisTemplate.opsForValue().set("city", "boy");String city = (String)redisTemplate.opsForValue().get("city");System.out.println(city);redisTemplate.opsForValue().set("code", "123456", 3, TimeUnit.MINUTES);redisTemplate.opsForValue().setIfAbsent("lock", "1");redisTemplate.opsForValue().setIfAbsent("lock", "2");}/*** 操作哈希的数据*/@Testpublic void testHash(){//Hset hget hdel hkeys hvalsHashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put("100", "name", "jimmy");hashOperations.put("100", "age", "20");String name = (String) hashOperations.get("100", "name");System.out.println(name);Set keys = hashOperations.keys(100);System.out.println(keys);List values = hashOperations.values("100");System.out.println(values);hashOperations.delete("100", "age");}/*** 操作列表数据*/@Testpublic void testList(){//lpush lrange rpop llenListOperations listOperations = redisTemplate.opsForList();listOperations.leftPushAll("mylist", "a","b","c");listOperations.leftPush("mylist", "d");List mylist = listOperations.range("mylist", 0, -1);System.out.println(mylist);listOperations.rightPop("mylist");Long size = listOperations.size("mylist");System.out.println(size);}/*** 集合类型操作*/public void testSet(){//sadd smembers scard sinter sremSetOperations setOperations = redisTemplate.opsForSet();setOperations.add("set1", "a","b","c","d");setOperations.add("set2", "a","b","x","y");Set members = setOperations.members("set1");System.out.println(members);Long size = setOperations.size("set1");System.out.println(size);Set intersect = setOperations.intersect("set1", "set2");System.out.println(intersect);Set union = setOperations.union("set1", "set2");System.out.println(union);setOperations.remove("set1", "a","b");}
}

店铺营业状态设置

产品需求分析

在这里插入图片描述
在这里插入图片描述

设置营业状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码实现

首先了解一下
@PutMapping、@PostMapping、@GetMapping 分别对应不同的 CRUD

@PutMapping: 对应于更新操作(Update)。通常用于修改已存在的资源。在 RESTful 风格的 API 中,对应于 HTTP PUT 请求。
@PostMapping: 对应于创建操作(Create)。通常用于新建资源。在 RESTful 风格的 API 中,对应于 HTTP POST 请求。
@GetMapping: 对应于读取操作(Read)。通常用于获取已存在的资源。在 RESTful 风格的 API 中,对应于 HTTP GET 请求。

新建两个Controller,通过@RestController后加的值做区分。

package com.sky.controller.admin;import com.sky.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;@RestController("adminShopController")
@RequestMapping("/admin/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {@Autowiredprivate RedisTemplate redisTemplate;public static final String KEY = "SHOP_STATUS";/*** 设置店铺营业状态* @param status* @return*/@PutMapping("/{status}")@ApiOperation("设置店铺营业状态")public Result setStatus(@PathVariable Integer status){redisTemplate.opsForValue().set(KEY, status);return Result.success();}/*** 获取店铺营业状态* @return*/@GetMapping("/{status}")@ApiOperation("获取店铺营业状态")public Result<Integer> getStatus(){Integer status = (Integer) redisTemplate.opsForValue().get(KEY);return Result.success(status);}
}
package com.sky.controller.user;import com.sky.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController("userShopController")
@RequestMapping("/user/shop")
@Api(tags = "店铺相关接口")
@Slf4j
public class ShopController {@Autowiredprivate RedisTemplate redisTemplate;public static final String KEY = "SHOP_STATUS";/*** 获取店铺营业状态* @return*/@GetMapping("/{status}")@ApiOperation("获取店铺营业状态")public Result<Integer> getStatus(){Integer status = (Integer) redisTemplate.opsForValue().get(KEY);return Result.success(status);}
}
http://www.yayakq.cn/news/739576/

相关文章:

  • 网站建设书籍目录网页制作设计步骤
  • 美食网站需求分析建设银行首页 网站
  • 百度免费校园网站建设宁波做网站建设推广
  • 重庆做网站建设公司哪家好徐州网站制作方法
  • 大型服装网站建设loog图标免费在线设计
  • wap网站方案安徽信息工程信息门户平台
  • 哪两个数字域名是做医疗信息网站的seo网站排名助手
  • 网站建设考评办法家教补习中心网站建设
  • 天津网站建设企业系统微信域名防封跳转系统
  • 陵水网站设计公司企业做网站要注意些什么
  • 做网站要不要营业执照wordpress表单数据提交
  • 国外商业网站设计西安做网站建设的
  • 洪雅网站建设企业官网建设_创意网站建设
  • 联系客户做网站vps主机上搭建网站
  • 西安做建站的公司鄂州网站建设企业推广
  • 商业信息网站大全北京个人制作网站
  • 网站建设交付物清单星辰wordpress
  • 网上挣钱最快的平台百度 排名seo快速
  • wordpress js版本搜索引擎优化百度
  • 鄂州做网站多少钱广告策划公司简介
  • 青岛大型网站建设wordpress cat=
  • 营销型网站套餐wordpress媒体库图片显示不出来
  • 大学生做企业网站企业vi设计的作用与意义
  • 企业网站开发douyanet建设多语言网站
  • 阿里云网站备案注销怎么做网站站内搜索
  • 2021能打开的网站免费fastcomet wordpress
  • c2c电子商务网站的建站目的企业内训机构
  • 周口学做网站哪里可以兼职答题
  • 青州市建设局网站在百度上做网站多少钱
  • 厦门网站建设xm37网站管理费用一年多少钱