Redis 入门学习

介绍

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

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

下载

在当前目录启动cmd

验证客户端是否连接成功

退出使用exit

在redis.windows.conf文件中删除注释加入密码

启动时要加入密码

也可以下载客户端,可以通过图形界面进行更加直观的操作

五种常用数据类型

Redis 字符串类型常用命令:

  • SET key value            设置指定key的值
  • GET key            获取指定key的值
  • SETEX key seconds value    设置指定key的值,并将 key 的过期时间设为 seconds 秒
  • SETNX key value        只有在 key 不存在时设置 key 的值

Redis hash 是一个string类型的 field 和 value 的映射表,特别适合用于存储对象,常用命令:

  • HSET key field value     将哈希表 key 中的字段 field 的值设为 value
  • HGET key field     获取存储在哈希表中指定字段的值
  • HDEL key field        删除存储在哈希表中的指定字段
  • HKEYS key         获取哈希表中所有字段
  • HVALS key         获取哈希表中所有值

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2]     将一个或多个值插入到列表头部(左边)
  • LRANGE key start stop         获取列表指定范围内的元素
  • RPOP key             移除并获取列表最后一个元素(右边)
  • LLEN key             获取列表长度

Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,常用命令:

  • SADD key member1 [member2]     向集合添加一个或多个成员
  • SMEMBERS key         返回集合中的所有成员
  • SCARD key             获取集合的成员数
  • SINTER key1 [key2]         返回给定所有集合的交集
  • SUNION key1 [key2]         返回所有给定集合的并集
  • SREM key member1 [member2]     删除集合中一个或多个成员

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

  • ZADD key score1 member1 [score2 member2]     向有序集合添加一个或多个成员
  • ZRANGE key start stop [WITHSCORES]       通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY key increment member             有序集合中对指定成员的分数加上增量 increment
  • ZREM key member [member ...]             移除有序集合中的一个或多个成员

Redis的通用命令是不分数据类型的,都可以使用的命令:

  • KEYS pattern         查找所有符合给定模式( pattern)的 key
  • EXISTS key         检查给定 key 是否存在
  • TYPE key         返回 key 所储存的值的类型
  • DEL key         该命令用于在 key 存在是删除 key

Spring Data Redis使用方式

操作步骤:

  • 导入Spring Data Redis 的maven坐标

  • 配置Redis数据源

  • 编写配置类,创建RedisTemplate对象

  • 通过RedisTemplate对象操作Redis

RedisTemplate 针对大量api进行了归类封装,将同一数据类型的操作封装为对应的Operation接口,具体分类如下:

  • ValueOperations:string数据操作
  • SetOperations:set类型数据操作
  • ZSetOperations:zset类型数据操作
  • HashOperations:hash类型的数据操作
  • ListOperations:list类型的数据操作

实例应用

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 {

    public static final String KEY = "SHOP_STATUS";

    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 设置店铺的营业状态
     * @param status
     * @return
     */
    @PutMapping("/{status}")
    @ApiOperation("设置店铺的营业状态")
    public Result setStatus(@PathVariable Integer status){
        log.info("设置店铺的营业状态为:{}",status == 1 ? "营业中" : "打烊中");
        redisTemplate.opsForValue().set(KEY,status);
        return Result.success();
    }

    /**
     * 获取店铺的营业状态
     * @return
     */
    @GetMapping("/status")
    @ApiOperation("获取店铺的营业状态")
    public Result<Integer> getStatus(){
        Integer status = (Integer) redisTemplate.opsForValue().get(KEY);
        log.info("获取到店铺的营业状态为:{}",status == 1 ? "营业中" : "打烊中");
        return Result.success(status);
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值