筆記4:redis基礎
阿新 • • 發佈:2020-07-20
redis
--redis:
一款高效能的NOSQL系列的非關係型資料庫 儲存 key:value 型別資料 資料之間沒關聯,儲存在記憶體中
--redis資料結構
key,value格式的資料,key都是字串,value有5種資料結構 1) 字串型別 string set key get key del key 2) 雜湊型別 hash map格式 hset key field value hget key field hdel key field hgetall key 3) 列表型別 list linked、list格式。支援重複元素 lpush 列表名 value rpush 列表名 value lrange 列表名 start end lpop 列表名 =刪最左邊並返回 rpop 列表名 =刪最右邊並返回 4) 集合型別 set 不允許重複元素 sadd 集合名 value smenbers 集合名 srem 集合名 value 5) 有序集合型別 sortedset 不允許重複元素,且元素有順序 自動排序 通過score對value排序 zadd 集合名 score vlaue zrange 集合名 start end zrem 集合名 value keys * 查詢所有鍵 type key 獲取鍵對應值的型別 del key 刪除指定的key value
--持久化
【RDB】 預設方式 不需配置 在一定間隔時間中,檢測key的變化情況,然後持久化資料
【AOF】 日記記錄方式,可以記錄每一條命令的操作,可以每一次命令操作後, 持久化資料
appendonly no==關閉 yes==開啟
# appendfsync always 每一次操作進行持久化
appendfsync everysec 每秒進行持久化
# appendfsync no 不進行持久化
java操作redis
--jedis使用
---下載jedis的jar包(java操作redis資料庫的工具) commons-pool2-2.3.jar jedis-2.7.0.jar ---使用 new Jedis()獲取連線 和redis命令一樣的方法名方法有相同的作用 Jedis jedis = new Jedis("localhost",6379);//如果使用空參構造,預設為localhost和6379埠
--jedis連線池:JedisPool
---建立JedisPool JedisPoolConfig config = new JedisPoolConfig(); //pro為讀取配置檔案的物件 config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));//maxTotal:最大連線數 config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));//maxIdle:最大空閒數,資料庫連線的最大空閒時間。超過空閒時間,資料庫連線將被標記為不可用,然後被釋放。設為0表示無限制。 new JedisPool([config],主機ip地址,埠號); ---呼叫方法 getResource()方法獲取Jedis連線
--注意:
* 使用redis快取一些不經常發生變化的資料。
* 資料庫的資料一旦發生改變,則需要更新快取。
1-資料庫的表執行 增刪改的相關操作,需要將redis快取資料情況,再次存入
2-在service對應的增刪改方法中,將redis資料刪除。