1.安装redis
redis可以直接到官网下载,解压后即可使用,无需安装。
下载地址:https://github.com/MSOpenTech/redis/releases
2.解压完之后可以得到以下文件
3.设置密码
打开redis.windows.conf,加入此语句(123456即为你的密码)
4.启动redis,在该目录下打开cmd窗口,输入命令:redis-server redis.windows.conf
5.再打开一个cmd窗口,输入命令:redis-cli.exe -h 127.0.0.1 -p 6379,即可连接成功,再输入命令:auth "123456",验证密码。
6.Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
6.1设置键值对:
set k1 abc
6.2取出键值对:
get k1
6.3Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
实例中我们使用了 Redis HMSET, HGET 命令,HMSET 设置了两个 field=>value 对, HGET 获取对应 field 对应的 value。
每个 hash 可以存储 232 -1 键值对(40多亿)。
6.4Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
6.5 Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
sadd 命令
添加一个 string 元素到 key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。
注意:以上实例中v1 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
6.6zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令
添加元素到集合,元素在集合中存在则更新对应score
7.各个数据类型应用场景:
8检测redis服务是否启动
9远程连接redis
10常用操作
10.1 Redis 键(key):http://www.runoob.com/redis/redis-keys.html
10.2 Redis 字符串(String):http://www.runoob.com/redis/redis-strings.html
10.3 Redis 哈希(Hash):http://www.runoob.com/redis/redis-hashes.html
10.4 Redis 列表(List):http://www.runoob.com/redis/redis-lists.html
10.5 Redis 集合(Set):http://www.runoob.com/redis/redis-sets.html
10.6 Redis 有序集合(sorted set):http://www.runoob.com/redis/redis-sorted-sets.html
10.7 redis 发布订阅:打开多个客户端都订阅chat:subscribe chat
打开一个客户端发布使用:publish chat
就可以看到效果了
10.8 Redis 事务
multi
命令1
命令2
命令3
。。。。
exec
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。
11 redis的性能测试
http://www.runoob.com/redis/redis-benchmarks.html
12 Redis 管道技术
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
- 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
- 服务端处理命令,并将结果返回给客户端。
Redis 管道技术
Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。