遂寧網(wǎng)站開發(fā)廣告軟文小故事800字
redis的數(shù)據(jù)類型:
string類型
設(shè)置key及value
key的命名規(guī)范
key是給存儲在redis內(nèi)存中的數(shù)據(jù)起的變量名字
在redis里邊,key的命令規(guī)則不同于一般語言,鍵盤上除了【空格】【\n換行】不能作為名字的組成內(nèi)容外,其他的大部分字符都可以使用,比如(像my? key和mykey\n這樣包含空格和換行的key是不允許的)。
名字長度不做要求,但也不要太長,占內(nèi)存,查詢慢,也不要太短,像u:100:pwd就不如user:100:password可讀性好。
value的類型:strings\Lists\Sets\Sorted Sets\Hash
后面會重點講解這幾種類型。
注意:username這個key沒有的話會創(chuàng)建,有的話,就會覆蓋。
獲取key及value
incr做自增操作,可以對某個key的value進行+1的操作
decr做自減操作,可以對某個key的value進行-1操作
incrby指定需要增加的數(shù)
decrby指定需要減去的數(shù)
keys *:獲取redis里面的所有的key
一般redis的key是如何設(shè)計的???
思考:原先在mysql里面數(shù)據(jù)是如何存儲的???
答:表使用行和列的組合,以【it_user】表為例。
如果需要把上面的mysql里面的表里面的數(shù)據(jù)存儲redis里面,存儲的key該如何設(shè)計???
答:分如下幾步來操作:
把上面mysql表里面的記錄保存在redis:
第一條記錄的語句如下:
第二條記錄的語句如下:
獲取用戶的信息,例如要獲取用戶id為1的信息:
擴展keys *命令的使用:
exists key:測試指定key是否存在,存在返回1,不存在返回0
現(xiàn)在來測試username這個key是否存在:
現(xiàn)在來測試name這個key是否存在:
type key返回指定key的value類型
默認情況下都是字符串的,后面我們學(xué)習(xí)了其他的數(shù)據(jù)類型以后,可以再來進行檢測。
del key1 key2......keyn 刪除指定的key
一次性刪除多個key,刪除的時候key和key之間使用空格隔開:
rename oldkey newkey 為key重命名
dbsize? 返回當前數(shù)據(jù)庫的key數(shù)量
expire key seconds為key指定過期時間,單位是秒
ttl key返回key的剩余過期秒數(shù)
Key過期以后,就會自動的刪除該key
select db-index數(shù)據(jù)庫的切換:數(shù)據(jù)庫的編號是從0開始的。
默認是16個數(shù)據(jù)庫:超出了報錯了。
切換到索引是3的數(shù)據(jù)庫,并查看該數(shù)據(jù)庫的所有key:
默認使用的是索引為0的數(shù)據(jù)庫:
通過查看redis的redis.conf配置文件得到信息:
最多共有16個數(shù)據(jù)庫供操作:
move key db-index將key從當前數(shù)據(jù)庫移動到指定的數(shù)據(jù)庫
刪除當前數(shù)據(jù)庫中所有key
刪除所有數(shù)據(jù)庫中的所有key
總結(jié):string類型是redis最基本的類型,redis的string可以包含任何數(shù)據(jù),包括jpg圖片或者序列化的對象,單個value值最大上限是1G字節(jié),如果只用string類型,redis就可以被看作加上持久化特性的memcache。
string類型的擴展:
mset key1 key2......keyn? 一次設(shè)置多個key的值:
mget key1 key2......keyn? 一次獲取多個key的值:
incr:increament增長
該指令可以對key進行累加1操作,默認是累加1操作,類似i++操作。
該指令可以針對新key或已有key進行操作,新key:創(chuàng)建該key并累加1,其值為1。已有key:key的信息值類型要求必須為整形的。