启动redis
- 文件地址
- /usr/local/redis-4.0.0/src/redis-server:Redis服务启动脚本
- /usr/local/redis-4.0.0/src/redis-cli:Redis客户端脚本
- /usr/local/redis-4.0.0/redis.conf:Redis配置文件
- 使用redis
- 开启服务[root@localhost redis-4.0.0]# ./src/redis-server ./redis.conf
- redis[root@localhost redis-4.0.0]# src/redis-cli
- 修改redis配置文件
- daemonize配置项改为yes
- requirepass foobared 配置项取消注释,默认为注释状态。foobared为密码,可以根据情况自己指定
- 将bind 127.0.0.1配置项注释掉
redis常用数据类型(5种)
- 在redis中key都是string类型,value有常用的5种数据类型
- 通用指令
- keys * #查看所有key
- exist name #判断key是否存在
- expire key seconds #设置过期时间
- ttl key #剩余到期时间(time to live)
- type key #key的类型
- String:字符串类型
- set key value
- get key
- setex key seconds value #字符串过期时间(set expire time)
- setnx key value #如果字符串不存在(set not exist)
- List:列表,有序可重复
- lpush list values #将一个值或多个值插入到列表的头部
- rpush list values #将一个值或多个值插入到列表的尾部
- lrange list 0 -1 #list内全部数据
- lpop list #移除列表的第一个元素
- rpop list #移除列表的最后一个元素
- llen list #获取list长度
- lrem list 2 three #从list中移除两个three
- Set:集合,无序不重复
- sadd set value #set集合添加元素
- smembers set #查看set集合内容
- srem set value #移除set中的value元素
- sdiff set1 set2 #set1 - (set1∩set2)
- sinter set1 set2 #set1 ∩ set2
- sunion set1 set2 #set1 ∪ set2
- Hash:相当于HashMap集合,key -
- hset hashMap key1 value2
- hget hashMap key1 #查找hashMap中key为key1的value
- hdel hashMap key #删除指定键值对
- hgetall hashMap #获取所有键和值
- hkeys hashMap #获取所有键
- hvals hashMap #获取所有值
- zset:有序集合,在set基础上增加了一个值score(double类型)
- zadd sortedSet 1 one 2 two 0.1 aa #按分数由小到大
- zrange sortedSet 0 -1
- zrangebyscore salary -inf +inf #按score由小到大排序从-∞到+∞
- zrangebyscore salary -inf +inf withscores #排序带score
- zrem salary key #查看有多少个key
spring-data-redis使用流程
- 导入springboot及redis依赖
- 配置application.yml
- 操作字符串数据需要编写RedisConfig配置类
- API使用
- redisTemplate.opsForValue—>ValueOperation
- set,get,delete
- redisTemplate.opsForList—>ListOperation
- leftPushAll,range,remove
- redisTemplate.opsForHash—>hashOperation
- putAll,keys,values,entries,remove
- redisTemplate.opsForSet—>setOperation
- add,members,remove
- redisTemplate.opsForZset—>zsetOperation
- add,rangeByScoreWithScore,remove
- redisTemplate.opsForValue—>ValueOperation
redis持久化方式
- rdb持久化方式
- 备份的是数据本身;(depro)有数据丢失的风险;(pro)备份和数据恢复效率高,是redis默认的选项;
- 手动触发 :bgsave
- 自动触发: save 90 1 #save 900 1 : 表示如果900秒内至少1个key发生变化(新增、修改和删除),则重写rdb持久化
- aof持久化方式
- 备份的是操作redis的命令流水;默认不开启,需要手动设置
- appendfsync always:总是,每执行一条命令就持久化一次;数据0丢失,效率低
- appendfsync everysec:每秒持久化一次;可能会丢失一秒内的数据,aof的默认选项
- appendfsync no:由操作系统自动调度刷磁盘(性能是最好)
