1. 程式人生 > >Redis基礎操作學習

Redis基礎操作學習

ttl friend 多個 自動 man ray nds 問題 per

1. 設置值,取值。 set ,get。刪除映射,del 。註意,不能使用=復制,假如使用set name=1,執行成功,只能以get name=1取值為空。

2. 整型變量自動增加使用incr命令。

3.設置變量有效期,expire , 查看變量有效期,單位為秒。ttl -1表示永不過期,-2表示不存在了。註意,重新賦值後,有效期被重置。

4.Redis支持存儲List(有序的)。重要的一些命令是 RPUSH, LPUSH, LLEN, LRANGE, LPOP, 和 RPOP。

RPUSH 插入在列表尾部.

    RPUSH friends "Alice"
    RPUSH friends "Bob"

LPUSH 插入在列表頭部.

LPUSH friends "Sam"

LRANGE 返回一個子列表. 第一個參數作為起始下標,第二個參數作為終止下標. -1表示檢索到列表尾部為止.

    LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob"
    LRANGE friends 0 1 => 1) "Sam", 2) "Alice"
    LRANGE friends 1 2 => 1) "Alice", 2) "Bob"

LLEN 返回列表長度,

LPOP 移除第一個元素並返回他.


    LPOP friends => "Sam"

RPOP 移除最後一個元素並返回他.


    RPOP friends => "Bob"

例子只剩一個元素:

    LLEN friends => 1
    LRANGE friends 0 -1 => 1) "Alice"

5.Redis支持存儲Set(無序的,每個值只能出現一次),重要的命令如SADD, SREM, SISMEMBER, SMEMBERS and SUNION

SADD 添加給出的值到集合中.

    SADD superpowers "flight"
    SADD superpowers "x-ray vision"
    SADD superpowers "reflexes"

SREM 從集合中移除給出的值.

    SREM superpowers "reflexes"

SISMEMBER 測試給出的值是否在集合中. 1表示存在,0表示不存在.

    SISMEMBER superpowers "flight" => 1
    SISMEMBER superpowers "reflexes" => 0

SMEMBERS 返回集合的所有成員元素.

    SMEMBERS superpowers => 1) "flight", 2) "x-ray vision"

SUNION 返回兩個或更多集合的所有元素.

    SADD birdpowers "pecking"
    SADD birdpowers "flight"
    SUNION superpowers birdpowers => 1) "pecking", 2) "x-ray vision", 3) "flight"

6.集合是很方便的數據類型, 但是因為是無序的很容易出問題. Redis 1.2介紹了有序的集合。

有序集合與普通集合類似, 但是每一個值有一個關聯的得分. 這個得分用來對集合的元素排序.

    ZADD hackers 1940 "Alan Kay"
    ZADD hackers 1906 "Grace Hopper"
    ZADD hackers 1953 "Richard Stallman"
    ZADD hackers 1965 "Yukihiro Matsumoto"
    ZADD hackers 1916 "Claude Shannon"
    ZADD hackers 1969 "Linus Torvalds"
    ZADD hackers 1957 "Sophie Wilson"
    ZADD hackers 1912 "Alan Turing"

在例子中, 得分是出生年份,值是姓名。

    ZRANGE hackers 2 4 => 1) "Claude Shannon", 2) "Alan Kay", 3) "Richard Stallman"

7.Redis也能存儲hash表。

Hashes是值與域的映射, 因此他們能完美地表示對象 (例如: User帶有屬性 name, surname, age等等):

    HSET user:1000 name "John Smith"
    HSET user:1000 email "[email protected]"
    HSET user:1000 password "s3cret"

返回保存的數據使用 HGETALL:

    HGETALL user:1000

一次返回多個屬性:

    HMSET user:1001 name "Mary Jones" password "hidden" email "[email protected]"

也可以只返回一個屬性:

    HGET user:1001 name => "Mary Jones"

數值操作與普通字符串一樣並且值的自增是原子性的.

    HSET user:1000 visits 10
    HINCRBY user:1000 visits 1 => 11
    HINCRBY user:1000 visits 10 => 21
    HDEL user:1000 visits
    HINCRBY user:1000 visits 1 => 1




Redis基礎操作學習