Redis基础学习

 

 

 

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 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

 



 

posted @ 2018-12-22 16:42  !一叶知秋*!  阅读(187)  评论(0编辑  收藏  举报