软构件——笔记2

redis

Sprintboot整合redis:

  1. 添加依赖:redis客户端(不推荐jedis,是独立框架,第三方包)
  2. application.properties(配置redis的端口)
  3. 配置(redisTemplate)
  4. 编写代码

泛型:编译现象

java中redis泛型,如“<String,Integer>”只在java中受到限制,在其他地方(如redis_cli.exe)还是可以插入其他类型的值。

海量数据中的查找?

数据库中的方法:

索引:index进行检索条件匹配。(坏处:增加数据库开销,要有个地方放置索引。每次存入数据的时候,要更新索引。)

redis

equals:逻辑上相等
hashCode:散列码
Bloom Filter

mybatis整合

service:
model:bean
mapper:xml
dao:dao

server(DAO:Data Transfer Object):

数据库:

?userUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&userSSL=false

附录

项目日常添加依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<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.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

redisTemplate

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

import java.util.concurrent.TimeUnit;

@Configuration
public class RedisConfig
{
    @Autowired(required = false)
    private RedisConnectionFactory redisConnectionFactory;//Redis连接工厂(相当于redis-cli的窗口)

    @Bean
    public RedisTemplate<String, Object> redisTemplate()//相当于redis-cli的命令行
    {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
//        redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());//JSON泛型
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        return redisTemplate;
    }


    @Bean
    public StringRedisTemplate stringRedisTemplate()
    {
        StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
        stringRedisTemplate.setConnectionFactory(redisConnectionFactory);
        return stringRedisTemplate;
    }
}
posted @ 2023-09-28 14:46  jijfurhg  阅读(21)  评论(0)    收藏  举报