redis技术之旅二 redis的数据类型
redis不同于memcached等其他的内存数据库,其支持多种数据类型及其操作,主要的数据类型有,字符串(String)、列表(List)、哈希(Hash)、集合(Set、SortedSet),关于具体怎么使用这些数据类型,就不在这里介绍了,可自行查询学习(http://redisdoc.com/index.html),
1、String(字符串),操作字符串的命令如下,字符串是一种最常用的数据类型,几乎所有的数据库都支持这种数据类型。
APPEND
BITCOUNT
BITOP
DECR
DECRBY
GET
GETBIT
GETRANGE
GETSET
INCR
INCRBY
INCRBYFLOAT
MGET
MSET
MSETNX
PSETEX
SET
SETBIT
SETEX
SETNX
SETRANGE
STRLEN
2、List(列表),redis的list是一个双向的链表,即可以支持反向查找和遍历,redis内部的队列就是用这种数据类型实现的。
BLPOP
BRPOP
BRPOPLPUSH
LINDEX
LINSERT
LLEN
LPOP
LPUSH
LPUSHX
LRANGE
LREM
LSET
LTRIM
RPOP
RPOPLPUSH
RPUSH
RPUSHX
3、Hash(哈希),许多程序语言都支持hash这种数据类型,类似于一种无序字典,可支持的操作命令如下。
HDEL
HEXISTS
HGET
HGETALL
HINCRBY
HINCRBYFLOAT
HKEYS
HLEN
HMGET
HMSET
HSET
HSETNX
HVALS
HSCAN
4、Set(集合),redis的集合类型分为两类,一种是普通的集合,另外一种是有序集合(SortedSet),其中有续集合值基于存储value的score来进行排序的。
Set(集合)
SADD
SCARD
SDIFF
SDIFFSTORE
SINTER
SINTERSTORE
SISMEMBER
SMEMBERS
SMOVE
SPOP
SRANDMEMBER
SREM
SUNION
SUNIONSTORE
SSCAN
SortedSet(有序集合)
ZADD
ZCARD
ZCOUNT
ZINCRBY
ZRANGE
ZRANGEBYSCORE
ZRANK
ZREM
ZREMRANGEBYRANK
ZREMRANGEBYSCORE
ZREVRANGE
ZREVRANGEBYSCORE
ZREVRANK
ZSCORE
ZUNIONSTORE
ZINTERSTORE
ZSCAN
ZRANGEBYLEX
ZLEXCOUNT
ZREMRANGEBYLEX
redis支持多种数据类型,是其被广泛使用的优势之一,对多种数据类型的支持也更符合应用程序的需求。其实redis应该还有一种数据类型,就是数字类型,values可以是数字类型,同时被incr等操作进行加减,用于计数器等场景。