redis数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
redis优势
- 速度快
- 支持数据类型多
- 原子操作,几个操作合并后仍然是原子操作。
- 丰富的特性,支持publish、subscribe、通知、可以、过期等
Redis安装
下载地址
将其中64文件夹中的内容解压到某目录(F:redis),在该目录运行redis-server.exe redis.conf
启动服务。
再开一个cmd窗口,切换到该目录,运行
redis-cli.exe -h 127.0.0.1 -p 6379
当客户端,存储并读取数据Redis 配置
Redis数据类型
Redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)
string(字符串)
- string是二进制安全的,string可以包含任何数据,比如jpg图片或者序列化的对象。
- 一个键最大512MB。
hash(哈希)
- hash是一个键值对集合。
- hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
- 每个hash可以存放40多亿键值对2的32-1次方个。
hmset
、hgetall
list(列表)
- 简单的字符串列表,按照插入顺序排序,可以添加元素到列表左边或者右边。
- 每个列表可以存储40多亿个元素。
lpush
/rpush
set(集合)
- set是string类型的无序集合。
- set是哈希表实现的,所以添加删除查找的复杂度都是o(1)
-
sadd key setName
创建一个set -
sadd
添加一个string元素到一个set中,成功返回1,元素已经存在返回0,set不存在报错。 -
smembers setName
查看一个set中的所有元素
事实证明,set不存在的时候也不会报错。
zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令,添加元素到集合,元素在集合中存在则更新对应score。
zadd key score member