一、概念。
redis是一款高性能的NOSQL系列的非关系型数据库。
二、下载安装。
1、redis有中文网。
2、解压直接可以使用。
*redis.windows.conf :配置文件。
*redis-cli.exe : redis的客户端。
* redis-server.exe :redis 服务器端。
三、命令操作。
1、redis的数据结构:键值对格式,key是字符串类型,value有5中类型:
*字符串类型 string
* 哈希类型 hash : map格式
* 列表类型 list : linkedlist 格式
* 集合类型 set
* 有序集合类型 sortedset
2、字符串类型 string:
*存储: set key value
* 获取: get key
* 删除:del key
3、哈希类型 hash:
*存储: hset key field value
* 获取: hget key field hgetall key
* 删除:hdel key field
4、列表类型 list : 可添加一个元素到一个列表的头部或尾部。如果又添加,是以“挤进去”的方式。
* 添加:1、lpush key value 2、rpush key value
* 获取: lrange key start end :范围获取。
* 删除:lpop key rpop key 删除元素并将其返回。
5、集合类型 set :无序、不允许元素重复。
* 存储: sadd key value
* 获取:smembers key 获取集合所有元素。
* 删除;srem key value : 删除集合某个元素。
6、有序集合 sortedset : 不允许元素重复,但有序。 根据score 排序
* 存储 : zadd key score value
* 获取 : zrange key start end
* 删除: zrem key value
7、通用命令。
* keys * :查询所有键
* type key : 获取key 对应value 的类型。
* del key : 删除指定键值对。
四、持久化。
1、redis 是一个内存数据库,当redis 服务器重启,或电脑重启,数据会丢失,所以需要持久化到硬盘
2、redis 持久化机制:
* RDB :默认方式,不需要配置。在一定时间内检测到key的变化情况后,持久化数据。
编辑redis.windows.conf 文件:
save 900 1
save 300 10
save 60 10000
意思:多少秒内,至少多少键发生变化了,就持久化一次。
* AOF :日志记录的方式,可以记录每一条命令的操作。可每一次操作命令后,持久化数据。
编辑 redis.windows.conf 文件:
设置 appendonly yes (开启 aof )
# appendfsync always:每一次操作都持久化
appendfsync everysec:每一秒进行一次持久化
# appendfsync no: 不持久化
五、Java客户端 Jedis。
* Jedis :一款Java操作redis数据库的工具
* 使用步骤:先导入jar包 两个:jedis和jedis pool
1、获取连接:Jedis jedis=new Jedis("localhost",6379); 空参默认是本机的。
2、操作:方法名和命令行一样。
3、关闭连接:jedis.close();
* 一些其他方法:
1、jedis.setex("activecode",20,"rt") :存入键值对,并在20秒后自动删除。
* Jedis连接池:
1、创建一个配置对象:
JedisPoolConfig config =new JedisPoolConfig();
config.setMaxTotal(20) ; config.setMaxIdle(10) ...........
2、创建Jedis连接池对象。
JedisPool jp=new JedisPool(config,"localhost",6379)
3、获取连接。
Jedis jedis=jp.getResource()
4、使用。
5、归还到连接池。 jedis.close();
* 自定义jedis 工具类。
* redis的应用:用redis缓存一些不经常发生变化的数据。
六、案例。
需求:提供index.html页面,有一个省份下拉列表,页面加载完后,发送Ajax,加载所有省份。