redis是一种内存型数据库
systemctl start docker 启动docker
docker start redis01 启动redis
docker exec -it redis01 bash 进入redis容器
redis-cli 登录本地redis \
(redis-cli -p 6379 -a password #-a后面为password,
此操作需要开启redis.conf文件中的 requirepass选项)
redis-cli -h ip -p 6379 -a password 登陆远程redis
RedisTemplate对象应用实践
RedisTemplate是一个专门用于实现对远端redis数据进行操作的对象,默认会采用JDK序列化方式存取数据 不需要释放资源
string类型数据读写操作
直接对已存在key执行increment 会有ERR value is not an integer or out of range (反序列化异常) 需要将默认的JDK序列化方式,改为字符串的序列化方式 redisTemplate.setKeySerializer(RedisSerializer.string()); redisTemplate.setValueSerializer(RedisSerializer.string());
假如希望使用RedisTemplate对象直接实现递增操作,可以用一个不存在的key实现递增
调用increment方法时,假如key不存在会自动创建key(会基于JDK方式序列化),但值不会JDK序列化
j
Redis有哪些基础指令?
(redis-cli,redis-server启动,exit,clear,type,expire,shutdown 关闭,help,? help的写,keys,flushall,flushdb)
final修饰的类不能序列化
主从架构 数据库都有
一主多从
master负责读写,并将数据同步到salve,从节点负责读操作.