學習網站html
http://www.yiibai.com/redis/redis_quick_guide.htmljava
Redis支持5種數據類型:字符串、哈希、列表、集合、有序集合mysql
字符串redis
redis 127.0.0.1:6379> set age 29 OK redis 127.0.0.1:6379> get age "29" redis 127.0.0.1:6379>
哈希sql
redis的哈希是鍵值對的集合,它是字符串key和字符串value之間的映射,被用來表示對象。 mongodb
它很適合存儲對象。oracle
1.設置鍵值對yii
[設置命令 key 對象(key value)],以下ide
hset myHash id 1001
如上表示:hset是哈希命令,myHahs是key,後面是對象(id表示屬性,1001是其值)學習
咱們再設置一個屬性
hset myHahs name zhangSan
咱們能夠一次性設置多個屬性,用以下命令
hmset myHash2 id2 9999 name2 wangwu
如上都是關於存儲的,下面介紹如何取值
[取值命令 key 屬性(對象key)]
hget myHahs name
即可以獲得 name的值"zhangsan"。
一次性獲取多個屬性的值
hmget myHash2 id2 name2
獲得的值
1) "9999" 2) "wangwu"
咱們也能夠一次性取key下面全部屬性的值
127.0.0.1:6379> hgetall myHash2 1) "id2" 2) "9999" 3) "name2" 4) "wangwu" 127.0.0.1:6379>
列表
它是字符串列表,能夠添加元素到redis列表的頭部或尾部。
#向列表插入數據 redis 127.0.0.1:6379> lpush testList ZhangSan (integer) 1 redis 127.0.0.1:6379> lpush testList LiSi (integer) 2 redis 127.0.0.1:6379> lpush testList WangWu (integer) 3 redis 127.0.0.1:6379> #顯示列表數據 redis 127.0.0.1:6379> lrange testList 0 10 1) "WangWu" 2) "LiSi" 3) "ZhangSan" redis 127.0.0.1:6379>
集合
集合是字符串的無序集合。
redis 127.0.0.1:6379> sadd testList2 mysql (integer) 1 redis 127.0.0.1:6379> sadd testList2 oracle (integer) 1 redis 127.0.0.1:6379> sadd testList2 mongodb (integer) 1 redis 127.0.0.1:6379> sadd testList2 redis (integer) 1 redis 127.0.0.1:6379> smembers testList2 1) "redis" 2) "mongodb" 3) "oracle" 4) "mysql" redis 127.0.0.1:6379>
有序集合
redis 127.0.0.1:6379> zadd testList3 0 name (integer) 1 redis 127.0.0.1:6379> zadd testList3 0 age (integer) 1 redis 127.0.0.1:6379> zadd testList3 0 sex (integer) 1 redis 127.0.0.1:6379> zadd testList3 0 address (integer) 1 redis 127.0.0.1:6379> zrangebyscore testList3 0 10 1) "address" 2) "age" 3) "name" 4) "sex" redis 127.0.0.1:6379>
2、redis的語法
1. 格式:命令 key
用於管理 鍵,例子以下
redis 127.0.0.1:6379> set testKey mysql OK redis 127.0.0.1:6379> get testKey "mysql" redis 127.0.0.1:6379> del testKey (integer) 1 redis 127.0.0.1:6379> get testKey (nil) redis 127.0.0.1:6379>
1>.設置鍵 testKey 的值爲mysql
2>.查詢 testKey的值
3>.刪除 testkey
4>.再次查詢 testKey,值爲nil
2.格式:命令 Strings
用於管理 字符串,例子以下
redis 127.0.0.1:6379> set testString http://www.baidu.com OK redis 127.0.0.1:6379> get testString "http://www.baidu.com" redis 127.0.0.1:6379>
3.格式:命令 哈希
用於管理 哈希值,例子以下
redis 127.0.0.1:6379> hmset testHM name "lxl" age 29 sex 0 address 高新 OK redis 127.0.0.1:6379> hgetall testHM 1) "name" 2) "lxl" 3) "age" 4) "29" 5) "sex" 6) "0" 7) "address" 8) "高新" redis 127.0.0.1:6379>
4.格式:命令 列表
用於管理 列表,例子以下
redis 127.0.0.1:6379> lpush testArray mysql (integer) 1 redis 127.0.0.1:6379> lpush testArray oracle (integer) 2 redis 127.0.0.1:6379> lpush testArray mongodb (integer) 3 redis 127.0.0.1:6379>
5.格式:命令 集合
用於管理 集合,它是指字符串無序集合,命令sadd,例子以下
redis 127.0.0.1:6379> sadd testJH aa (integer) 1 redis 127.0.0.1:6379> sadd testJH bb (integer) 1 redis 127.0.0.1:6379> sadd testJH cc (integer) 1 redis 127.0.0.1:6379> sadd testJH dd (integer) 1 redis 127.0.0.1:6379> smembers testJH 1) "dd" 2) "bb" 3) "cc" 4) "aa" redis 127.0.0.1:6379>
6.格式:命令 有序集合
用於管理 有序集合,命令zadd,例子以下
redis 127.0.0.1:6379> zadd testYX 1 ZS (integer) 1 redis 127.0.0.1:6379> zadd testYX 2 LS (integer) 1 redis 127.0.0.1:6379> zadd testYX 3 WW (integer) 1 redis 127.0.0.1:6379> zrange testYX 0 10 1) "ZS" 2) "LS" 3) "WW" redis 127.0.0.1:6379> zrange testYX 0 10 withscores 1) "ZS" 2) "1" 3) "LS" 4) "2" 5) "WW" 6) "3" redis 127.0.0.1:6379>