三种数据库
数据库分为关系型数据库和非关系型数据库。
关系型数据库比如:MySQL、Orache
1:数据是由一张张的表组成,而且这些表与表之间有关系(一对一,一对多,多对多)
2:数据是存在硬盘上,每次访问时,是将数据从硬盘读取到内存中
非关系数据库:Redis
1: 数据是有一个个的键值对:键 值 键 值
2:数据是存在内存中,在满足需要的时候,也可以将数据存在硬盘上(Redis的持久化)
Redis用什么用
Redis一般用来存储经常访问的,但有不经常改变的数据
Redis下载
官网下载地址:http://redis.io/download
github下载地址:https://github.com/MSOpenTech/redis/tags
Redis数据类型
Redis是以键和值的形式存储数据 Redis可以理解成Map集合
1:键:都是字符串
2:值:有五种数据类型
字符串(String)!!! 键----值 Map<String,String>
哈希(hash) 大键—小键–值 Map<String,Map<String,String>>
字符串列表(list) 键----值1,值2,值3 Map<String,LinkedList>
字符串集合(set) 键----值1,值2,值3 Map<String,HashSet>
有序字符串集合(sorted set) 键----值1,值2,值3 Map<String,LinkedHashSet>
只需记得字符串数据类型即可,其余类型都可以转成json字符串
字符串类型string
set name baoqiang //添加一个键值对 如果键存在,则修改 set()
get name //根据键获取值
del name //根据键删除键值对
mget name age //根据多个键查看值
通用指令
所有的数据类型都可以使用的指令
keys * //查看Redis中所有的键
del myset //删除指定的键值对
exists key //判断键是否存在 0表示不存在, 1表示存在
type myset //测试你的键是什么类型
Redis持久化-RDB
指定频率将Redis数据持久化
Redis默认就支持该方式,你什么都不用做,Redis会自动的将内存的数据存储到硬盘中
save 900 1 //900秒以内 ,如果至少有一个键的值发生变化, 则Redis自动持久化
save 300 10 //300秒以内 ,如果至少有10个键的值发生变化, 则Redis自动持久化
save 60 10000 //60秒以内 ,如果至少有10000个键的值发生变化, 则Redis自动持久化
jedis连接池
频繁创建与销毁链接比较消耗性能
创建集合初始化多个Connection
需要时调getConnection()申请
使用完时调用close()放回
步骤
1:创建连接池的配置对象
2:创建连接池
3:从连接池中获取一个连接
4:执行Redis执行
5:释放连接
或