数据库–Redis
概念
Redis是一款高性能Nosql非关系型数据库
- 数据之间没有关联关系
- 数据存储在内存中(不是硬盘文件中)
- 一般将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据
目前Redis支持的键值数据类型如下:
字符串类型string
- 存储:set key value
- 获取:get key
- 删除:del key
哈希类型hash
- 存储:hset key field value
- 获取:
- hset key field获取指定的field对应的值
- hgetall key:获取所有的field和value
- 删除:hdel key field
列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)
- 添加
- lpush key value :将元素加入列表左边
- rpush key value:将元素加入列表右边
- 获取:lrange key start end:范围获取
- 删除:
- lpop key:删除列表最左边的元素,并将元素返回
- rpop key:删除列表最右边的元素,并将元素返回
- 添加
集合类型set:不允许重复元素,不保证顺序
- 存储:sadd key value
- 获取:smembers key:获取set集合中所有元素
- 删除:srem key value:删除set集合中的某个元素
有序集合类型sortset:不允许重复元素,元素有序
- 存储:zadd key score value:(score用来排序)
- 获取:zrange key start end
- 删除:zrem key value
通用类型命令
- keys * :查询所有的键
- type key : 获取键对应的value的类型
- del key : 删除指定的key value
应用场景
- 缓存(数据查询,短链接,新闻内容,商品内容等等)
- 聊天室的在线好友列表
- 任务队列(秒杀,抢购,12306等等)
- 应用排行榜
- 网站访问统计
- 数据过期处理(可以精确到毫秒)
- 分布式集群架构中的session分离
持久化
- redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
- 持久化机制:
- RDB:默认方式,不需要进行配置,默认就使用这种机制
- 在一定的时间间隔中,检测key的变化情况,然后持久化数据
- AOF:日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据
- RDB:默认方式,不需要进行配置,默认就使用这种机制
Jedis
一款java操作redis数据库的工具
1 | //快速入门 |
Jedis连接池
JedisPool使用
1 | //0. (常用非必要)创建一个配置对象 |