redis學習筆記,redis入門指南

來源:互聯網
上載者:User

redis學習筆記,redis入門指南
一、幾種資料結構:1、String:key->value(1)添加:set key value/setnx key value(不存在時才添加,已存在返回0)/setex key time value(添加並設定有效時間)/setrange key index value(將key對應的值從index位置開始替換為value)/mset key1 value1 key2 value2(一次設定多個值,失敗返回0)/msetnx key1 value1 key2 value2(同上一個,但不覆蓋已有的);(2)擷取:get key/getset key value(重設值,並返回舊值)/getrange key index1 index2(返回key對應value的子串:index1到index2)/mget key1 key2 key3(一次擷取多個值);(3)加減法:incr key(如果key的值為int類型,加一;如果key的值為非int類型,返回錯誤;如果key不存在,則設定key的值為1,即認為原來值為0)/incrby key number(key的值加number,其他同上一個)/decr key/decrby key number(這是減法,規格同incr/incrby);(4)字串操作:append key val(將val追加在key對應的值後面)/strlen key(返回key對應的值的長度)注意點:字串的左面下標從0開始,右面下標從-1開始。2、hash:map,即每個hash表中有一到多個鍵值對(1)添加:hset myhash key value(添加鍵值對key->value到hash表myhash中)/hsetnx myhash key value(同hset,但不覆蓋)/hmset myhash key1 value1 key2 value2(添加多個鍵值對到hash表myhash中);(2)擷取:hget myhash key(擷取hash表myhash中鍵為key的值)/hmget myhash key1 key2 key3(擷取hash表myhash中多個鍵的值)/hincrby myhash key number(hash表myhash中key對應的值加number);(3)其他動作:hexists myhash key(判斷myhash中是否存在鍵為key,0表示無,1表示有)/hlen myhash(返回myhash鍵數量)/hdel myhash key(刪除myhash中鍵為key的鍵值對)/hkeys myhash(返回myhash中所有鍵)/hvals myhash(返回myhash中所有值)/hgetall myhash(返回myhash中所有鍵和值)3、list:由value串成的list(1)添加:lpush mylist value(添加值value到mylist頭部)/rpush mylist value(添加值value到mylist尾部)/linsert mylist before value1 value(將value插入到mylist中value1的前面)/lset mylist index value(將mylist中第index位置的值重設為value)(2)擷取:lrange mylist index1 index2(擷取list中第index1個到第index2個)/lindex mylist index(返回mylist下標為index的值)/llen mylist(返回mylist的長度)(3)刪除:lrem mylist count value(刪除|count|個mylist中值為value的元素,count>0:從頭到尾刪;count<0:從尾到頭刪;count=0:刪除全部)/ltrim mylist index1 index2(只保留index1到index2範圍的值)/lpop mylist(刪除mylist頭部並返回)/rpop mylist(刪除mylist尾部並返回)/rpoplpush mylist1 mylist2(將mylist1的尾部移到mylist2的頭部)4、set:由value組成的set(1)添加:sadd myset value(2)擷取:smembers myset(返回myset所有值)/sdiff myset1 myset2(返回兩個set的差集)/sdiffstore myset myset1 myset2(將myset1與myset2的差集存在myset中)/sinter myset1 myset2(返回兩個set的交集)/sinterstore myset myset1 myset2(將myset1和myset2的交集存在myset中)/sunion myset1 myset2(返回兩個set的並集)/sunionstore myset myset1 myset2(將myset1和myset2的並集存在myset中)/scard myset(返回myset的元素個數)/sismember myset value(測試value是否為myset中的元素,1為是,0為否)/srandmember myset(隨機返回myset中的一個元素,但不刪除)(3)刪除:srem myset value(刪除值為value的元素)/spop myset(隨機刪除並返回myset中的某個元素)/smove myset1 myset2 value(從myset1中移除value並添加到myset2中)5、sorted set(zset):帶排序的set(1)添加:zadd myzset score value(添加value到myzset,score用於排序,如果已存在value,則更新其score)(2)擷取:zrange myzset index1 index2 withscores(返回myzset中下標範圍為index1到index2的元素及其score值,按score從小到大順序)/zrank myzset value(返回value在myzset中的排名,從0開始計數)/zrevrank myzset value(返回value在myzset中的倒序排名,從0開始計數)/zrevrange myzset index1 index2 withscores(zrange的倒序)/zrangebyscore myzset a b withscores(返回myzset中score在a到b範圍的值和score)/zcount myzset a b(返回myzset中score範圍在a到b的值的數量)/zcard myzset(返回元素個數)/zscore myzset value(返回myzset中value對應的score值)(3)刪除:zrem myzset value(刪除myzset中值為value的元素)/zremrangebyrank myzset index1 index2(刪除myzset中score排名在index1到index2之間的元素)/zremrangebyscore myzset a b(刪除myzset中score值在a和b之間的元素)(4)加減score:zincrby myzset number value(將值為value的score加number)二、redis常用命令:1、keys pattern:返回給定pattern的所有key,pattern為Regex
2、exists key:判斷是否存在key3、del key:刪除key4、expire key time:設定一個key的到期時間5、move key db:將一個key移到資料庫db中6、ttl key:返回key還有多長時間到期(-1表示無到期時間)7、peisist key:移除key的到期時間8、randomkey:隨機返回某個key9、rename oldkey newkey:將oldkey重新命名為newkey10、type value:返回value的類型11、dbsize:返回當前資料庫的key數量12、flushdb:刪除當前資料庫的所有key13、flushall:刪除所有資料庫的所有key14、info:擷取伺服器資訊和統計15、config get:擷取伺服器配置資訊ps:redis的資料庫編號為0-15,預設為資料庫0。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.