1. 程式人生 > 實用技巧 >筆記4:redis基礎

筆記4:redis基礎

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資料刪除。