一.概念。
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,加載所有省份。