redis 使用的是鍵值對保存數據。(map)
key:全部都是字符串
value:有五種數據類型
Key名:自定義,key名不要過長,否則影響使用效率
Key名不要太短,最好是有意義。
4、 redis命令-String命令【重點】
字符串類型是Redis中最爲基礎、常用的數據存儲類型,字符串在Redis中是二進制安全的,這便意味着該類型存入和獲取的數據相同。在Redis中字符串類型的Value最多可以容納的數據長度是512M。
二進制安全和數據安全是沒有關係的。
MySQL-關係型數據庫,二進制不安全。【亂碼丟失數據】
Redis 二進制數據安全
賦值:
l set key value:設定key持有指定的字符串value,如果該key存在則進行覆蓋操作。總是返回”OK”
如果賦予相同的key,新的value會覆蓋老的value
取值:
l get key:獲取key的value。如果與該key關聯的value不是String類型,redis將返回錯誤信息,因爲get命令只能用於獲取String value;如果該key不存在,返回(nil)。
刪除:
l del key :刪除指定key
返回值是數字類型,表示刪了幾條數據
擴展:
l getset key value:先獲取該key的值,然後在設置該key的值。
l incr key:將指定的key的value原子性的遞增1.如果該key不存在,其初始值爲0,在incr之後其值爲1。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤信息。
相當於 ++i
l decr key:將指定的key的value原子性的遞減1.如果該key不存在,其初始值爲0,在incr之後其值爲-1。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤信息。
相當於 –i
Incr和decr 只能對字符串是數字的進行操作。
l append key value:拼湊字符串。如果該key存在,則在原有的value後追加該值;如果該key不存在,則重新創建一個key/value
String使用環境:
主要用於保存json格式的字符串
5、 redis命令-hash(瞭解)
Redis中的Hash類型可以看成具有String Key和String Value的map容器。所以該類型非常適合於存儲值對象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那麼該類型的數據也將僅佔用很少的磁盤空間。每一個Hash可以存儲4294967295個鍵值對。
Hash ----à {username:”張三”,age:”18”,sex:”man”}------javaBean
Hash特點:佔用的磁盤空間極少
賦值:
l hset key field value:爲指定的key設定field/value對(鍵值對)。
l hmset key field value [field2 value2 …]:設置key中的多個filed/value
取值:
l hmget key filed1 filed2 ….:獲取key中的多個filed的值
l hgetall key:獲取key中的所有filed-vaule
刪除:
l del key :刪除整個hash
擴展:
l hkeys key :獲得所有的字段
l hvals key:獲得所有的value
keys * 查詢所有的key
6、 Jedis(java操作redis數據庫技術)【重點】
新建項目並加入jar包
Redis有什麼命令,Jedis就有什麼方法。
防火牆設置:
開放6379端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
保存配置
/etc/rc.d/init.d/iptables save
查看數據庫有name字段了,是二進制數據表現形式,客戶端訪問時才解碼顯示中文
Jedis連接池:
抽取連接池工具:
JedisUtils