Redis 中的数据类型与基本操作

Redis 是一个高性能的key-value数据库

不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。


1 字符串(string)


string是redis最基本的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个键最大能存储512MB。

localhost:0>set test let_me_see
"OK"

localhost:0>get test
"let_me_see"

这里写图片描述


2 哈希(hash)


Redis hash 是一个键值(key=>value)对集合。

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

localhost:0>HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
"OK"

localhost:0>HGETALL runoobkey
 1)  "name"
 2)  "redis tutorial"
 3)  "description"
 4)  "redis basic commands for caching"
 5)  "likes"
 6)  "20"
 7)  "visitors"
 8)  "23000"
localhost:0>HGET runoobkey name
"redis tutorial"

localhost:0>hkeys runoobkey
 1)  "name"
 2)  "description"
 3)  "likes"
 4)  "visitors"
localhost:0>hvals key


localhost:0>hvals runoobkey
 1)  "redis tutorial"
 2)  "redis basic commands for caching"
 3)  "20"
 4)  "23000"

这里写图片描述


3 列表(list)


Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

localhost:0>lpush test_list redis
"2"

localhost:0>lpush test_list mongodb
"3"

localhost:0>lrange test_list 0 10
 1)  "mongodb"
 2)  "redis"
 3)  "redis"
localhost:0>llen test_list
"3"

localhost:0>lindex test_list 2
"redis"

这里写图片描述


4 集合(set)


Redis的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

localhost:0>sadd test_set redis
"1"

localhost:0>sadd test_set mongodb
"1"

localhost:0>sadd test_set mysql
"1"

localhost:0>sadd test_set mysql
"0"

localhost:0>smembers test_set
 1)  "mongodb"
 2)  "redis"
 3)  "mysql"
localhost:0>smembers test_set
 1)  "mongodb"
 2)  "redis"
 3)  "mysql"
localhost:0>smembers test_set
 1)  "mongodb"
 2)  "redis"
 3)  "mysql"
localhost:0>scard test_set
"3"

这里写图片描述


5 有序集合(zset)


Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

localhost:0>zadd test_z 1 redis
"1"

localhost:0>zadd test_z 2 localhost:0>redis
"0"


"ERR unknown command ''"

localhost:0>zadd test_z 2 redis
"0"

localhost:0>zadd test_z 2 mongodb
"1"

localhost:0>zadd test_z 2 mysql
"1"

localhost:0>zadd test_z 3 localhost:0>mysql
"0"


"ERR unknown command ''"

localhost:0>zadd test_z 3 mysql
"0"

localhost:0>zrange test_z 0 10
 1)  "mongodb"
 2)  "redis"
 3)  "mysql"
localhost:0>zrange test_z 0 10 withscores
 1)  "mongodb"
 2)  "2"
 3)  "redis"
 4)  "2"
 5)  "mysql"
 6)  "3"

这里写图片描述


6 参考资料


Redis 数据类型
http://www.runoob.com/redis/redis-data-types.html

Redis五种数据类型介绍
http://blog.csdn.net/hechurui/article/details/49508735


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值