前言:
Redis作为非关系型数据库与传统的关系型数据库相比较而言,其资源使用率在某些情况下比后者要快了数倍之多。然而与熟知的关系型数据库而言,其语法显得并没有后者那么有规律。本文将简要地作出Redis基本类型之CRUD简览对比以供参考。
简览:
(本表只显示常见、常用的语法,并不是所有语法或唯一语法)
CREATE | RETRIEVE | UPDATE | DELETE | |
---|---|---|---|---|
String | set | get | set | del |
Hash | hset | hget /hkeys /hvals/hgetalls | hset | del /hdel |
List | lpush /rpush | lrange | lset | del /lrem |
Set | sadd | smembers | / | del /srem |
ZSet | zadd | zrange /zverange /zrangebyscore | / | del |
示例:
String:
(类比Java中的String类)
创建一个key为"account",value为"jack"的存储:
set account 'jack'
检索一个key为"account"的value:
get account
更新key为"account",value为"lucy":
set account 'lucy'
删除key为"account"的存储:
del account
查询某键是否存在:
exists account
Hash:
(类比Java中的Hash集合)
创建key为"hash_coll"的Hash集合,字段为"user_1",“user_2”,对应值为:“password_1”,“password_2”:
hset hash_coll "user_1" "password_1"
hset hash_coll "user_2" "password_2"
查询key为"hash_coll"的集合的字段长度:
hlen hash_coll
查询key为"hash_coll"的集合的所有字段:
hkeys hash_coll
查询key为"hash_coll"的集合的所有字段对应的值:
hvals hash_coll
查询key为"hash_coll"的集合的所有字段及所有字段对应的值:
hgetall hash_coll
更新key为"hash_coll"的集合,字段为"user_1"对应的值为"password_one":
hset hash_coll "user_1" "password_one"
删除key为"hash_coll"的集合内字段为"user_2"的记录:
hdel hash_coll "user_2"
List:
(类比Java中的List集合,元素可重复)
创建key为"account_list",value为"jack" “rose” "lucy"的储存
lpush account_list 'jack' 'rose' 'lucy'
查询key为"account_list"的存储:
lrange account_list 0 -1
从头部添加数据:
lpush account_list 'joe'
从尾部添加数据:
rpush account_list 'mary'
更新具体索引位置的数据:
lset accout_list 0 'bob'
删除具体索引位置的数据:
lrem account_list 1 'lucy'
删除键为"account_list"的数据:
del account_list
Set:
(类比Java中的Set集合,元素不可重复,且集合为无序状态)
创建key为get_set的Set,元素为"one",“two”,“three”:
sadd get_set 'one' 'two' 'three'
查询key为"get_set"的Set:
smembers get_set
删除具体的value值:
srem get_set 'two'
添加元素(不可重复,若重复则返回0,即失败):
sadd get_set 'four'
删除某指定key的Set:
del get_set
ZSet:
(元素不可重复,通过分数来查找)
创建key为"sset",分数分别为1,2,3,对应的值分别为"china",“american”,“french”:
zadd sset 1 "china"
zadd sset 2 "american"
zadd sset 3 "french"
按照分数从小到大查询key为"sset"的集合内的元素:
zrange sset 0 -1
按照分数从大到小查询key为"sset"的集合内的元素:
zrevrange sset 0 -1