!
快速入门
安装
1.使用docker安装redis
docker pull redisdocker run -d --name redis -p 6379:6379 --restart unless-stopped -v /etc/docker/Redis/data:/data -v /etc/docker/Redis/conf/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes#/your/local/path--这个是做持久化处理,把数据存储在主机下的该路径
进入redis容器
### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli#密码
AUTH password
#退出
exit
当连接上之后可以通过ping,redis会回复pong
2.在win上安装redis
通过解压D:\Redis\redis4.0.0\Redis-x64-3.2.100.zip
然后在cmd中输入>redis-server.exe redis.windows.conf
(可以使用tab补全文件名)就成功启动了
设置密码---->找到配置文件中的 requirepass titi
titi为密码
常见的数据类型
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set / zset
数据类型的特定
常见的命令
字符串操作命令
哈希操作命令
列表操作命令
集合操作命令
有序集合操作命令
通用命令
在java中操作redis
- 导入Spring data redis 的maven坐标
- 配置redis数据源
- 编写配置类,创建redisTemplate对象(不写也能用)
- 通过Redis Template对象操作Redis
配置类
@Configuration
@Slf4j
public class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory factory){log.info("开始创建创建Redis模板");RedisTemplate redisTemplate=new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(factory);//设置序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
快速使用
@Autowired@Qualifier("redisTemplate")private RedisTemplate template;@Testpublic void testTemplate() {System.out.println(template);ValueOperations valueOperations = template.opsForValue();HashOperations hashOperations = template.opsForHash();SetOperations setOperations = template.opsForSet();ListOperations listOperations = template.opsForList();ZSetOperations zSetOperations = template.opsForZSet();}/*** 操作字符串类型的数据*/@Testpublic void testString(){//set get setex setnxtemplate.opsForValue().set("city","北京");String city = String.valueOf(template.opsForValue().get("city"));System.out.println(city);//健、值、过期时间、时间单位template.opsForValue().set("code","123321",3, TimeUnit.MINUTES);//setnxtemplate.opsForValue().setIfAbsent("lock",1);}@Testpublic void testHash(){//hset hget hdel hkeys hvalstemplate.opsForHash().put("100","name","tom");template.opsForHash().put("100","age","20");String name = String.valueOf(template.opsForHash().get("100", "name"));System.out.println(name);Set keys = template.opsForHash().keys("100");System.out.println(keys);List values = template.opsForHash().values("100");System.out.println(values);template.opsForHash().delete("100","age");}
s);
List values = template.opsForHash().values("100");System.out.println(values);template.opsForHash().delete("100","age");
}