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



  • 相关阅读:
    Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 建设过程
    计算机系统巡回赛的深入理解(三)机器级表示计划
    iOS设备定位
    NDK/JNI学习--进口hello-jniproject
    IP Camera 和 Web Camera 差分
    ORA-00020的思考
    SSL&TLS传输层加密协议实现图解--(重要)
    iOS 中可用的受信任根证书列表
    iOS 9 中可用的受信任根证书列表
    图解SSL/TLS协议
  • 原文地址:https://www.cnblogs.com/yyxq/p/10161589.html
Copyright © 2011-2022 走看看