Redis

1、概述
redis 是高性能的Key-Value数据库,提供多种语言的API。通常被称为数据结构服务器
与其他key-value缓存产品,有以下三个特点:
1、redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候再次加载进行使用
2、redis不仅仅支持简单的key-value类型的数据,值可以是字符串(String),哈希(Map),列表(list),集合(sets)和有序集合(sorted sets)等类型。
3、redis支持数据的备份,及主-从模式的数据备份
优势:性能极高、所有操作都是原子性(事物)
2、数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
2.1 string 字符串
redis的string可以包含任何数据,是redis最基本的数据类型,一个键最大能存512M
eg:>set name “test”
ok
>get name
“test”
2.2Hash 哈希
redis hash是一个string类型的filed和value的映射表。
eg:
>HMSET user:1 username test password 123456 points 200
ok
>HGETALL user:1 //user:1为键值
1)“username‘
2)"test”
3)"password"
4)“123456”
5)"points"
6)"200"
2.3 list 列表
redis 列表是简单的字符串列表,按照插入顺序排序。可以添加元素到列表的左边或者右边
eg:
>lpush test redis
(integer)1
>lpush test mongodb
(integer)2
>lpush test rabitmq
(integer)3
>lranger test 1 10
1)"rabitmq"
2)"mongodb"
3)“redis”
>
2.4 set 集合
redis的set是string类型的无序集合
2.4.1 sadd 命令
添加一个string元素到,key对应的set集合中,成功返回1.错误返回0
eg:
>sadd test redis
(integer)1
>smembers test //查询test key
1)“redis”
>
2.5 zset(sorted set :有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
2.5.1 zadd命令 添加元素到集合,元素在集合中存在则更新对应score
eg:
>zadd test 0 redis
(integer)1
>ZRANGEBYSCORE test test 0 100
1)“redis”
3、redis 命令
3.1 DEL key
删除key
3.2 EXISTS key
检查给定key是否存在
3.3 TYPE key
返回key所储存的值得类型