十二、Redis

一、基本概述

Redis是一款高性能的缓存和存储系统,它支持多种数据结构,包括字符串、列表、集合、散列表、有序集等。Redis通常被用来作为高速缓存、队列、消息发布与订阅系统或者是支持多种数据类型的数据库。

二、Redis安装

1、下载安装Redis
2、启动redis-server.exe
在这里插入图片描述
3、再打开一个cmd,启动

redis-cli

连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。

127.0.0.1:6379> PING
PONG

三、Redis 数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
1、String(字符串)
string类型是Redis最基本的数据类型

127.0.0.1:6379> set name liusize
OK
127.0.0.1:6379> get name
"liusize"

2、Hash(哈希)
Redis hash 是一个键值 (key=>value) 对集合,特别适合用于存储对象。

127.0.0.1:6379> HMSET user username password age sex
OK
127.0.0.1:6379> HGETALL user
1) "username"
2) "password"
3) "age"
4) "sex"

3、List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。

127.0.0.1:6379> lpush mylist Java
(integer) 1
127.0.0.1:6379> lpush mylist Python
(integer) 2
127.0.0.1:6379> lpush mylist Mysql
(integer) 3
127.0.0.1:6379> lrange mylist 0 10
1) "Mysql"
2) "Python"
3) "Java"

4、Set(集合)
Redis 的 Set是 string 类型的无序集合。

127.0.0.1:6379> sadd myset Java
(integer) 1
127.0.0.1:6379> sadd myset Python
(integer) 1
127.0.0.1:6379> sadd myset Mysql
(integer) 1
127.0.0.1:6379> sadd myset Java
(integer) 0
127.0.0.1:6379> smembers myset
1) "Java"
2) "Python"
3) "Mysql"

以上实例中Java添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。

5、zset(sorted set:有序集合)
Redis zset 和 set 一样也是 string 类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

127.0.0.1:6379> zadd myzset 0 Java
(integer) 1
127.0.0.1:6379> zadd myzset 0 Python
(integer) 1
127.0.0.1:6379> zadd myzset 0 Mysql
(integer) 1
127.0.0.1:6379> zadd myzset 0 Java
(integer) 0
127.0.0.1:6379> ZRANGEBYSCORE myzset 0 10
1) "Java"
2) "Mysql"
3) "Python"

删除key

 del name

四、SpringBoot集成Redis

导入依赖

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

编写配置

# Redis连接配置
spring.redis.host=localhost
spring.redis.port=6379

测试

@SpringBootTest
class SprintBootTestApplicationTests {
    @Autowired
    RedisTemplate redisTemplate;

    @Test
    void contextLoads() {
        redisTemplate.opsForValue().set("name","liusize");
        System.out.println(redisTemplate.opsForValue().get("name"));
        redisTemplate.opsForList().rightPushAll("mylist","Java","Python","C++");
        System.out.println(redisTemplate.opsForList().range("mylist",0,10));

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值