RedisTemplate类中属性作用

1.说明
当我们在SpringBoot项目中使用@Autowride这个注解来调用
RedisTemplate这个类时 可以看到 这个类继承了RedisAccessor这个类
这两个类都是在org.springframework.data.redis.core;这个包下
并且RedisTemplate这个类实现了RedisOperations、BeanClassLoaderAware
这两个接口 在RedisTemplate这个类中 有以下几个属性
1.enableTransactionSupport :这个属性标明了是用来 启用事务支持
并且在RedisTemplate本类中包含了一个方法 此方法无返回值 这个属性默认值为false

public void setEnableTransactionSupport(boolean TransactionSupport)

由此我们可以看出 我们在使用redisTemplate这个对象的方法时启用事务支持调用的是这个方法
2.exposeConnection:这个属性的意思为 暴露链接 有几个方法掉用了此属性 这个属性默认值为false

public <T> T execute(org.springframework.data.redis.core.RedisCallback<T> action, boolean exposeConnection) {
      /* compiled code */ }

action:参数意思是:指定Redis操作的回调对象
exposeConnection:是否强制对回调代码公开本机Redis连接

public <T> T execute(org.springframework.data.redis.core.RedisCallback<T> action, boolean exposeConnection, boolean pipeline) {
      /* compiled code */ }

这个方法对于上个方法比较来说多了一个参数 pipeline 这个参数的意思是管道
对于比较上个方法通过这个pipeline参数也增加了一个功能 是否对执行连接进行管道化

public boolean isExposeConnection() {
     	return exposeConnection;	}

此方法意思是 是向Redis回调代码公开本机Redis连接,还是公开连接代理(默认设置) 返回的exposeConnection这个属性 即公开连接代理

public void setExposeConnection(boolean exposeConnection) {
     this.exposeConnection = exposeConnection;}

是否向@redislink RedisCallback代码公开Redis连接。默认值为“false”:代理将返回
3.initialized:这个属性的意思是 已初始化的 默认值为false

Assert.notNull(defaultSerializer, "default serializer null and not all serializers initialized");

在这个方法中我们可以看到这段字符串的意思默认序列化为空并非所有的序列化都是已经初始化的

Assert.isTrue(initialized, "template not initialized; call afterPropertiesSet() before using it");

这个方法中包含了两个参数 initialized 和这段字符串的意思是模板没有初始化 在使用它之前掉用了afterPropertiesSet()这个方法
4.enableDefaultSerializer:这个属性意思是 是否启用默认序列化 默认值为false

public boolean isEnableDefaultSerializer() {
     	return enableDefaultSerializer;		}

是否应使用默认序列化程序。如果不是,则任何未显式设置的序列化程序都将保持null,值将不会序列化或反序列化。

public void setEnableDefaultSerializer(boolean enableDefaultSerializer) {
     	this.enableDefaultSerializer = enableDefaultSerializer;		}

此方法意思同上 但是相对于上一个方法 添加了一个enbaleDeafultSerializer参数

5.defaultSerializer:默认序列化器 这个属性用@Nullable注解标注上了 表示这个属性对应的值可以为null 注:@Nullable注解可以标注在方法、字段、参数上 @NoNullable这个注解与Nonullable功能相反这个注解针对了序列化的一些操作 例如:

if (defaultSerializer == null) {
     

			defaultSerializer = new JdkSerializationRedisSerializer(
					classLoader != null ? classLoader : this.getClass().getClassLoader());
		}

		if (enableDefaultSerializer) {
     

			if (keySerializer == null) {
     
				keySerializer = defaultSerializer;
				defaultUsed = true;
			}
			if (valueSerializer == null) {
     
				valueSerializer = defaultSerializer;
				defaultUsed = true;
			}
			if (hashKeySerializer == null) {
     
				hashKeySerializer = defaultSerializer;
				defaultUsed = true;
			}
			if (hashValueSerializer == null) {
     
				hashValueSerializer = defaultSerializer;
				defaultUsed = true;
			}
		}

6.classLoader:类加载器 它的作用就是负责把Class类加载到JVM虚拟机中 检查每个类由谁加载再将.class字节码文件重新解析JVM所需要的对象格式
7.keySerializer:键序列化

public void setKeySerializer(RedisSerializer<?> serializer) {
     	this.keySerializer = serializer;	}

设置键序列化 也就是设置这个模板要使用的序列化程序默认为getDefaultSerializer

public RedisSerializer<?> getKeySerializer() {
     	return keySerializer;	}

获取键序列化 也就是返回此模板使用的密钥序列化程序
8.setValueSerializer:设置值序列化

public void setValueSerializer(RedisSerializer<?> serializer) {
     	this.valueSerializer = serializer;	}

设置此模板要使用的值序列化程序默认为getDefaultSerializer

public RedisSerializer<?> getValueSerializer() {
     	return valueSerializer;		}

返回这个模板使用的值序列化程序
9.hashKeySerializer:哈希键序列化

public RedisSerializer<?> getHashKeySerializer() {
     		return hashKeySerializer;		}

获取Redis中Hash对象key的序列化

public void setValueSerializer(RedisSerializer<?> serializer) {
     		this.valueSerializer = serializer;		}

设置此模板要使用的哈希键(或字段)序列化程序默认为@link#getDefaultSerializer()

10.hashValueSerializer:哈希值序列化

public void setHashValueSerializer(RedisSerializer<?> hashValueSerializer) {
     	this.hashValueSerializer = hashValueSerializer;		}

设置此模板要使用的哈希值序列化程序。默认为@link#getDefaultSerializer()

public RedisSerializer<?> getHashValueSerializer() {
     	return hashValueSerializer;		}

获取Redis中Hash对象value的序列化
11.stringSerializer:string类型序列化

public RedisSerializer<String> getStringSerializer() {
     		return stringSerializer;		}

返回一个String类型序列化

public void setStringSerializer(RedisSerializer<String> stringSerializer) {
     		this.stringSerializer = stringSerializer;		}

设置此模板要使用的字符串值序列化程序(当参数或返回类型始终为字符串)
12.scrpitExecutor:脚本执行器 用于执行Redis脚本

你可能感兴趣的:(java,redis)