常见的数据类型
1.字符串(String)
2.哈希(类比于hashmap)
3.列表(类比于LinkedList)
4.集合(类比于set 元素不允许重复)
5.有序集合( 集合上加一个分数)
常用命令
字符串命令
set key value 设置键值
get key 得到值
setex key seconds valuue 设置键值以及过期时间,时间单位毫秒
setnx key value 在key不存在时设置value
哈希常用命令
hset key field value 给key的字段field赋值value
hget key field 获取key表中的字段field的值
hdel key field删除key表中的字段field
hkeys key 获取表中的所有字段key
hvals key 中的所有值
列表命令
lpush key value1 [value2] 将一个或 多个值插入到
lrange key start stop 获取列表key指定范围的值 想获取所有的 stop值设为-1
rpop key 获取列表最后的值并删除
llen key 获取列表长度
集合命令(用的不多)
sadd key member1 [member2] 给集合key 赋值
smembers key 查询集合所有成员
scard key 查询集合key长度
sinter key1 [key2] 查询集合焦急
sunion key1 [key2] 查询集合并集
srem key member1 [member2] 删除集合多个元素
有序集合
zadd key score1 member1 [score2 member2] 向集合中添加分数和成员
zrange key start stop [withscores]
zincrby key 增加的分数 member
zrem key member1 [member2 ] 从序向集合key中删除参数
通用命令
keys s*
type key
exists key
del key
给key设置过期时间
expire key 100(单位豪秒)
ttl key 100(单位秒)
在Java中操作redis
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.写Redis配置
sky:
redis:
host: localhost
port: 6379
password: *****
database: 10
3.编写配置类,创建redistemplate对象(默认是JdkSerializationRedisSerializer,可能导致我们存到Redis中后的数据和原始 数据有差别,故设置为 StringRedisSerializer序列化器)
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration;
import
org.springframework.data.redis.connection.RedisConnectionFa
ctory;
import org.springframework.data.redis.core.RedisTemplate;
import
org.springframework.data.redis.serializer.StringRedisSerial
izer;
@Configuration
@Slf4j
public class RedisConfiguration {
@Bean
public RedisTemplate
redisTemplate(RedisConnectionFactory
redisConnectionFactory){
log.info("开始创建redis模板对象...");
RedisTemplate redisTemplate = new RedisTemplate();
//设置redis的连接⼯⼚对象
redisTemplate.setConnectionFactory(redisConnectionFactory)
;
//设置redis key的序列化器
redisTemplate.setKeySerializer(new
StringRedisSerializer());
return redisTemplate;
}
}
SpringCache
常用注解
@EnableCa ching 开启缓存注解功能,通常加在启动类上
@Cacheable 在⽅法执⾏前先查询缓存中是否有数据,如果有数据,则直接 返回缓存数据;如果没有缓存数据,调⽤⽅法并将⽅法返回值 放到缓存中
@CachePut 将⽅法的返回值放到缓存中
@CacheEvict 将⼀条或多条数据从缓存中删除