您好,登錄后才能下訂單哦!
redis有五種數據類型,分別是string、hash、list、set、zset
一、string類型:
redis 127.0.0.1:6379>set name doo//設置一個鍵值對,鍵為name,值為doo
redis 127.0.0.1:6379>get name//獲取name的值
redis 127.0.0.1:6379>set name ya //再次賦值將被覆蓋,一個key對應一個value
redis 127.0.0.1:6379>setnx name doo
//會判斷name是否存在,存在返回0,不存在返回1,且寫入name=doo這個鍵值對。
redis 127.0.0.1:6379>setex haircolor 10 red //指定haircolor的值存在10秒,超過時間則消失
redis 127.0.0.1:6379>setrange name 6 doo.com
//對于name這個字符串的第七個位置改為doo.com,如果替換的沒有原來的長,則原來結尾部分依然存在,例如:name=abcdefg, setrange name 2 12 則name變為a12defg
redis 127.0.0.1:6379>mset key1 doo key2 ya //批量設置鍵值對
redis 127.0.0.1:6379>msetnx //批量判斷是否存在,只要有一個存在,則全部設置不成功
redis 127.0.0.1:6379>getset key 30 //獲取key的值,同時重新給key賦值
redis 127.0.0.1:6379>mget //批量獲取值,有空的則返回空
redis 127.0.0.1:6379>incr key7 //對key7自增1,如果key7不存在,則默認原來為0
redis 127.0.0.1:6379>incrby key6 5 //對key6自增5,
redis 127.0.0.1:6379>incrby key6 -4 //對key6自減4
redis 127.0.0.1:6379>decr key6 1 //對key6自減1
redis 127.0.0.1:6379>decr key6 -2 //對key6自增2
redis 127.0.0.1:6379>append name net //給name的值后面拼加字符串net
redis 127.0.0.1:6379>strlen name //查看name的值的長度
二、hash數據類型,是字段field和值的映射表,占用內存少
redis 127.0.0.1:6379>hset myhash field1 hello //myhash是哈希表
redis 127.0.0.1:6379>hget myhash field1 //獲取myhash表的field1的值
redis 127.0.0.1:6379>hsetnx myhash hello //判斷是否存在,存在返回0,不存在則賦值
redis 127.0.0.1:6379>hmget myhash field1 hello filed2 word //批量賦值
redis 127.0.0.1:6379>hmget myhash filed1 filed2 //批量獲取值
redis 127.0.0.1:6379>hincrby user:003 age 5 //對user:003表的age自增5
redis 127.0.0.1:6379>hexists user:003 age //會判斷age是否存在,存在返回0,否則返回1
redis 127.0.0.1:6379>hlen user:001 //返回哈希表的鍵值數量
redis 127.0.0.1:6379>hdel myhash age //對myhash表的age字段刪除,返回1刪除成功
redis 127.0.0.1:6379>hkeys myhash //返回myhash表的所有字段,不返回值
redis 127.0.0.1:6379>hvals myhash //返回myhash表的所有值,不返回字段
redis 127.0.0.1:6379>hgetall myhash //返回myhash表的所有鍵和值
三、list數據類型
redis 127.0.0.1:6379>lpush mylist “word” //從頭部加入一個元素
redis 127.0.0.1:6379>lpush mylist “hello” //
redis 127.0.0.1:6379>lrange mylist 0 -1 //從頭部第一個取到尾部
redis 127.0.0.1:6379>rpush mylist “be” //從尾部加入一個元素
redis 127.0.0.1:6379>linsert mylist before “one” “two” //向one元素前面加入一個元素,在頭部為前。
127.0.0.1:6379> lpush list2 one//向list2中插入值one
(integer) 1
127.0.0.1:6379> lpush list2 two
(integer) 2
127.0.0.1:6379> lpush list2 three
(integer) 3
127.0.0.1:6379> lrange list2 0 -1//輸出list2的所有值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lset list2 1 four //將list2 的two改為four插入數據從頭部插入,新插入的數據角標為0
OK
127.0.0.1:6379> lrange list2 0 -1
1) "three"
2) "four"
3) "one"
127.0.0.1:6379> lrem list2 3 one//從list2中刪除3個和one相同的元素
(integer) 1
127.0.0.1:6379> ltrim list2 2 -1//保留第三個到結尾的元素
OK
127.0.0.1:6379> rpoplpush list1 list2//將list1的尾部加到list2的頭部
127.0.0.1:6379> lindex list2 0//返回list2第一個位置的值
127.0.0.1:6379> llen list2//返回list2中元素的個數
四、sets 數據類型 集合
127.0.0.1:6379> sadd myset1 hello//向集合myset1中加入hello元素
(integer) 1
127.0.0.1:6379> smembers myset1//查看myset1的所有元素
1) "hello"
127.0.0.1:6379> sadd myset1 one
(integer) 1
127.0.0.1:6379> srem myset1 one//刪除myset1的one元素
(integer) 1
127.0.0.1:6379> spop myset1//隨機從myset1中刪除一個元素
127.0.0.1:6379> sdiff myset1 myset2//返回兩個集合的差集,以前面集合為標準,返回前面那個集合中不在集合2的元素
127.0.0.1:6379> sdiffstore myset4 myset2 myset3//將集合2和3的差距存放于集合4
127.0.0.1:6379> sinter myset1 myset2//取集合1和集合2 的交集
127.0.0.1:6379> sinterstore myset3 myset1 myset2//將集合1和集合2 的交集存于集合3
127.0.0.1:6379> sunion myset1 myset2//取集合1和集合2的并集
127.0.0.1:6379> sunionstore myset3 myset1 myset2 //集合1和集合2的并集存于集合3
127.0.0.1:6379> smove myset2 myset3 three //將集合2 的three移到集合7中
127.0.0.1:6379> scard myset1//返回集合1的元素的個數
127.0.0.1:6379> sismember myset1 one//測試myset1中是否有one,有則返回1,否則返回0
127.0.0.1:6379> srandmember myset1//隨機返回集合1中的一個元素,不刪除
五、 有序集合zset
127.0.0.1:6379> zadd myzset1 1 one//增加zset1
(integer) 1
127.0.0.1:6379> zadd myzset1 2 two
(integer) 1
127.0.0.1:6379> zadd myzset1 3 two
(integer) 0
127.0.0.1:6379> zrange myzset1 0 -1//查看有序集合的所有元素
1) "one"
2) "two"
127.0.0.1:6379> zrange myzset1 0 -1 withscores//加withscores可現實元素序號
1) "one"
2) "5"
127.0.0.1:6379> zrem myzset1 two//刪除集合中的元素
127.0.0.1:6379> zincrby myzset1 2 one//對one的序列號加2
127.0.0.1:6379> zincrby myzset1 -2 one //對one的序列號-2
127.0.0.1:6379> zrank myzset1 three//返回three的索引值,索引值從0開始,序列號從1開始
127.0.0.1:6379> zrank myzset1 three
(integer) 2
127.0.0.1:6379> zrevrank myzset1 three//先降序,再找索引
(integer) 0
127.0.0.1:6379> zrange myzset1 0 -1 withscores//查看元素以及現實序列號
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
127.0.0.1:6379> zrevrange myzset1 0 -1 withscores//先降序,再查看元素以及序列號
1) "three"
2) "3"
3) "two"
4) "2"
5) "one"
6) "1"
127.0.0.1:6379> zrangebyscore myzset1 2 3 withscores//找序列號是2和3的元素
1) "two"
2) "2"
3) "three"
4) "3"
127.0.0.1:6379> zcount myzset1 2 4//返回序列從2 到4的元素個數
127.0.0.1:6379> zcard myzset1 //返回有序集合元素個數
127.0.0.1:6379> zrange myzset1 0 -1//先看索引
127.0.0.1:6379> zremrangebyrank myzset1 0 1 //刪除索引值從0到1的元素
127.0.0.1:6379> zremrangebyscore myzset1 2 5//刪除序列號是2到5的元素
元素過期:
127.0.0.1:6379> set age 20//設置age的值為20
OK
127.0.0.1:6379> get age //獲取age的值
"20"
127.0.0.1:6379> expire age 20//設置age的值存在20秒
(integer) 1
127.0.0.1:6379> ttl age//獲取剩余存在時間,秒
(integer) 16
鍵值相關命令:
127.0.0.1:6379> keys * //返回所有的鍵
127.0.0.1:6379> keys my* //返回my開頭的所有鍵
127.0.0.1:6379> exists name //查看name鍵是否存在,存在返回1,否則返回0
127.0.0.1:6379> del age //刪除age的鍵
127.0.0.1:6379> expire age 10 //設置過期
127.0.0.1:6379> persist age //取消過期設置
127.0.0.1:6379> move age 1 //將age這個鍵移動到1數據庫
一共16個數據庫,從0-15 開始默認是0
127.0.0.1:6379> select 0 選擇進入0號數據庫
127.0.0.1:6379> randomkey 隨機返回一個key
127.0.0.1:6379> rename age age.new 給鍵重新命名
127.0.0.1:6379> type age 返回值的數據類型,(string、zset、list等)
服務器相關命令:
127.0.0.1:6379> ping 測試與服務器連接正常,正常返回pong
127.0.0.1:6379> echo 類似于回顯
127.0.0.1:6379> select 2 選擇2號數據庫
127.0.0.1:6379> quit //退出,或者用exit
127.0.0.1:6379> dbsize //返回當前庫鍵的數目
127.0.0.1:6379> info //獲取redis的信息
127.0.0.1:6379> config get * //返回當前所有配置項
127.0.0.1:6379> CONFIG GET timeout//返回timeout配置項的參數值
1) "timeout"
2) "0"
127.0.0.1:6379> flushdb //刪除當前庫中所有的key
127.0.0.1:6379> flushall //刪除所有庫的所有key,不管在哪個庫下都是
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。