redis

Redis 基本操作

Redis 默认有 16 个数据库,使用的是第 0 个,切换数据库

select 0

添加数据/修改数据

set key value

查询数据

get key

批量添加

mset k1 v1 k2 v2...

批量查询

mget k1 k2 

删除数据

del key

查询所有的 key

keys *

清除当前数据库

flushdb

清除所有数据库

flushall

查看 key 是否存在

exists key

设置有效期

expire key 10

查看有效期

ttl key

Redis 数据类型

String

追加字符串

append key value

查看字符串长度

strlen key

自增

incr key

递减

decr key

指定递增长度

incrby k v

指定递减长度

decrby k v

字符串截取

getrange k start end

修改局部字段

setrange k start v

List

从左侧添加

lpush k v...

从右侧添加

rpush k v...

取值

lrange k start end

删除,左侧移除

lpop k

右侧移除

rpop k

通过下标获取值

lindex k index

删除集合中指定的值,count 是删除的个数

lrem k count v

通过下标修改集合中的值

lset k index v

获取长度

llen k

截取list

ltrim k start end

查看集合是否存在

exists k

Set

添加数据

sadd k v

查询数据

smembers k

判断集合中是否存在某个值

sismember k v

获取集合长度

scard k

删除元素

srem k v1 v2...

随机取值

srandmember k

Hash

存值

hset hash k1 v1 k2 v2

取值

hget hash k1

存多个值

hmset hash k1 a k2 b k3 c

取多个值

hmget hash k1 k2 k3

取所有值

hgetall hash

删除数据

hdel hash k1 k2

获取长度

hlen k

判断集合中是否存在某个值

hexists hahs k

获取集合中所有 key

hkeys hash

获取集合中所有 value

hvals hash

Zset

添加数据

zadd set index v

查询数据

zrange set 0 -1

升序查询

zrangebyscore score -inf +inf withscores

降序查询

zrevrange score 0 -1 withscores

删除数据

zrem score jack

Spring Boot 整合 Redis

Spring Data Redis

<dependency>   
 <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency><dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId>    <optional>true</optional></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-test</artifactId>    <scope>test</scope></dependency><!-- Swagger --><dependency>    <groupId>io.springfox</groupId>    <artifactId>springfox-swagger2</artifactId>    <version>2.9.2</version></dependency><dependency>    <groupId>io.springfox</groupId>    <artifactId>springfox-swagger-ui</artifactId>    <version>2.9.2</version></dependency>
spring:  redis:    database: 0    host: 192.168.248.138    port: 6379
package com.southwind.entity;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.io.Serializable;import java.util.Date;@Data@AllArgsConstructor@NoArgsConstructorpublic class Student implements Serializable {    private Integer id;    private String name;    private Double score;    private Date birthday;}
package com.southwind.controller;import com.southwind.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
@RestControllerpublic 
class StudentController {   
   @Autowired 
   private RedisTemplate redisTemplate; 
 @PostMapping("/set")    
public void set(@RequestBody Student student){     
   this.redisTemplate.opsForValue().set("stu", student);   
 }   
  @GetMapping("/get/{key}")  
  public Student get(@PathVariable("key") String key){      
    return (Student) this.redisTemplate.opsForValue().get(key);  
      }   
   @PutMapping("/put")  
     public void update(@RequestBody Student student){        this.redisTemplate.opsForValue().set("stu", student); 
      }  
     @DeleteMapping("/delete/{key}")   
      public Boolean delete(@PathVariable("key") String key){  
           this.redisTemplate.delete(key);       
            return this.redisTemplate.hasKey(key);   
            }}
package com.southwind.configuration;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration@EnableSwagger2public class SwaggerConfiguration {    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.SWAGGER_2)                .select()                .apis(RequestHandlerSelectors.basePackage("com.southwind"))                .build().apiInfo(new ApiInfoBuilder()                        .title("Redis测试")                        .description("测试")                        .version("V1.0")                        .build());    }}

字符串

@PostMapping("/string")public String string(){    String str = "Hello World";    this.redisTemplate.opsForValue().set("str", str);    return (String) this.redisTemplate.opsForValue().get("str");}

List

@PostMapping("/list")public void list(){    ListOperations<String,String> list = redisTemplate.opsForList();    list.leftPush("list", "Hello");    list.leftPush("list", "World");    list.leftPush("list","Java");    list.rightPush("list", "1");    list.rightPush("list", "2");    list.rightPush("list", "3");}

Set

@PostMapping("/setadd")public void setadd(){    SetOperations<String,String> set = this.redisTemplate.opsForSet();    set.add("set", "Hello");    set.add("set", "World");    set.add("set", "Java");}

Zset

@PostMapping("/zset")public void zset(){    ZSetOperations<String,String> set = this.redisTemplate.opsForZSet();    set.add("zset", "Hello",1);    set.add("zset", "World",2);    set.add("zset", "Java",3);}

Hash

@PostMapping("/hash")public void hash(){    HashOperations<String,String,String> hash = this.redisTemplate.opsForHash();    hash.put("hash", "id", "1");    hash.put("hash", "name", "tom");    hash.put("hash", "age","22" );}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值