redis是一種高級的key-value的存儲系統
其中的key是字符串類型,盡可能滿足如下幾點:
1)key不要太長,最好不要操作1024個字節,這不僅會消耗內存還會降低查找 效率
2)key不要太短,如果太短會降低key的可讀性
3)在項目中,key最好有一個統一的命名規范(根據企業的需求)
其中value 支持五種數據類型:
1)字符串型 string
2)字符串列表 lists
3)字符串集合 sets
4)有序字符串集合 sorted sets
5)哈希類型 hashs
1.存儲字符串String
字符串類型是Redis中最為基礎的數據存儲類型,它在Redis中是二進制安全的,這便意味着該類型可以接受任何格式的數據,如JPEG圖像數據或Json對象描述信息等。在Redis中字符串類型的Value最多可以容納的數據長度是512M。
1)set key value:設定key持有指定的字符串value,如果該key存在則進行覆蓋操作。總是返回”OK”
2)get key:獲取key的value。如果與該key關聯的value不是String類型,redis 將返回錯誤信息,因為get命令只能用於獲取String value;如果該key不存在,返 回null。
3)getset key value:先獲取該key的值,然后在設置該key的值。
4)incr key:將指定的key的value原子性的遞增1,如果該key不存在,其初始值為0,在incr之后其值為1。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤信息。
5)decr key:將指定的key的value原子性的遞減1,如果該key不存在,其初始值為0,在incr之后其值為-1。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤信息。
6)incrby key increment:將指定的key的value原子性增加increment,如果該 key不存在,器初始值為0,在incrby之后,該值為increment。如果該值不能轉成整型,如hello,則失敗並返回錯誤信息
7)decrby key decrement:將指定的key的value原子性減少decrement,如果該key不存在,器初始值為0,在decrby之后,該值為decrement。如果該值不能轉成整型,如hello,則失敗並返回錯誤信息
8)append key value:如果該key存在,則在原有的value后追加該值;如果該 key不存在,則重新創建一個key/value
2.存儲hash
Redis中的Hash類型可以看成具有String Key和String Value的map容器,所以該類型非常適合於存儲值對象的信息,如Username、Password和Age等。如果 Hash中包含很少的字段,那么該類型的數據也將僅占用很少的磁盤空間。每一個Hash 可以存儲4294967295個鍵值對。
1)hset key field value:為指定的key設定field/value對(鍵值對)。
2)hgetall key:獲取key中的所有filed-vaule
3)hget key field:返回指定的key中的field的值
4)hmset key fields:設置key中的多個filed/value
5)hmget key fileds:獲取key中的多個filed的值
6)hexists key field:判斷指定的key中的filed是否存在
7)hlen key:獲取key所包含的field的數量
8)hincrby key field increment:設置key中filed的值增加increment,如:age 增加20(注意:沒有hdecrby命令,如果要減去一個數,可以加相應的負數即可)