Redis基础及入门

一. 什么是 Redis
            Redis 是一个可基于内存,有着完备的持久化机制并以 Key-Value 形式存储的非关系型数据库。也称为数据结构服务器。

二. Redis 的优势。
            支持数据的持久化,可以将内存中的数据保存在磁盘中,便于重启时再次使用。也就是我们平时说的缓存机制。
            提供 list ,set ,zset ,hash 等数据结构的存储
            支持数据的备份。即master-slave模式的数据备份。

三. 服务端的安装以及启动客户端
            1. 安装并启动服务端
                    $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz     --获取到下载版本的网址
                    $ tar xzf redis-3.2.9.tar.gz     --解压压缩包
                    $ cd  redis-3.2.9                       --打开目录
                    $ make                                       --编译
                    $ src/redis-server redis.conf           --启动服务端(使用默认端口6379)
            2. 启动客户端
                    $ src redis-cli

四. Redis命令及数据类型
            1. 数据类型
                    String:
                            redis 的最基本类型。可以是任何数据,如字符串、整数、浮点,这些统称为元素。
                            示例:
                            常用命令:
                                    SET key value :设置指定 key 的值
                                    GET key :获取指定 key 的值
                                    MGET key1 [ key2 ... ] :获取多个指定 key 的值
                                    STRLEN key :返回 key 所存储的字符串值的长度
                                    MSET key1 value1 [ key2 value2 ... ] :同时设置一个或多个 key -value
                                    INCR key :将 key 中存储的数字 + 1
                                    INCRBY key increment:给 key 中存储的数字加上指定数字( increment )
                                    DECR key:将 key 中存储的数字 - 1
                                    DECRBY key decrement:给 key 中存储的数字减去指定数字( increment )
                                    APPEND key value :追加字符串
                    hash (哈希表):
                            key-value的散列组,是一个string类型的field和value的映射表,适合用于存储对象
                            示例:
                            常用命令:
                                    HSET key field value:将哈希表 key 中的字段 field 的值设为 value
                                    HGET key field:获取存储在哈希表中指定字段的值。
                                    HLEN key:获取哈希表中字段的数量
                                    HMGET key field1 [ field2 ... ]:获取全部字段的值
                                    HMSET key field1 value1 [ field2 value2 ... ]:同时将多个 field-value (域-值)对设置到哈希表 key 中。
                    list:
                            一个有序的序列集合并且每个节点都包含了一个元素
                            示例:
                            常用命令:
                                    LLEN key:获取列表长度
                                    LPUSH key value1 [ value2 ... ]:将一个或多个值插入列表
                                    RPOP key:移除并获取列表最后一个元素
                                    LPOP key:移出并获取列表的第一个元素
                                    LRANGE key start stop:获取列表指定范围内的元素
                    set:
                            存储各不相同的元素
                            示例:
                            常用命令:
                                    SADD key member1 [ member2 ... ]:向集合添加一个或多个成员
                                    SMEMBERS key member:返回集合中的所有成员
                                    SREM key member1 [ member2 ... ]:移除集合中一个或多个成员
                                    SCARD key:获取集合的成员数
                                    SISMEMBER key member:判断 member 元素是否是集合 key 的成员
                    sort set (有续集合):
                            带分数的score-value有序集合,其中 value 是唯一的
                            示例:
                            常用命令:
                                    ZADD key score1 member1 [ score2 member2 ... ]:向有序集合添加一个或多个成员,或修改已存在成员的分数
                                    ZCARD key:获取有序集合的成员数
                                    ZRANK key member:返回有序集合中指定成员的索引
                                    ZRANGE key start stop [ WITHSCORES ]:通过索引区间返回有序集合指定区间内的成员
                                    ZCOUNT key min max:计算在有序集合中指定区间分数的成员数
                                    ZREM key member [ member2 ... ]:移除有序集合中的一个或多个成员
            2. 命令
                    1. HyperLogLog
                            用来做基数统计的算法。无论输入元素的数量或体积有多大,都只占用固定的、很少的空间。且元素只用来计算基数,并不会存储元素本身。
                            常用命令:
                                    PFADD key element [ element ... ]:添加指定元素到 HyperLogLog 中
                                    PFCOUNT key [ key ... ]:返回给定 HyperLogLog 的基数估算值。
                                    PFMERGE destkey soucekey [ sourcekey ... ]:将多个 HyperLogLog 合并为一个 HyperLogLog
                    2. 发布订阅(pub/sub)
                            一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
                            客户端可以订阅任意数量的频道。
                            常用命令:
                                    PSUBSCRIBE pattern [ pattern ... ]:订阅一个或多个符合给定模式的频道
                                    PUBSUB subcommand [argument [ argument ... ] ]:查看订阅与发布系统状态。
                                    PUBLISH channel message:将信息发送到指定的频道。
                                    PUNSUBSCRIBE [ pattern [ pattern ... ] ]:退订所有给定模式的频道
                                    SUBSCRIBE channel [ channel ... ]:订阅给定的一个或多个频道的信息。
                                    UNSUBSCRIBE [ channel [ channel ... ] ]:指退订给定的频道。
                    3. 事物
                            可一次性执行多个命令且1.  事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。(事物是一个单独隔离操作)  2. 事务中的命令要么全部被执行,要么全部都不执行。(事务是一个原子操作)
                            执行过程:开始事物 -->  命令入队  -->  执行事务
                            常用命令:
                                    MULTI:标记一个事物块的开始
                                    EXEC:执行所有事务块内的命令。
                                    DISCARD:取消事务,放弃执行事务块内的所有命令。
                                    UNWATCH:取消 WATCH 命令对所有 key 的监视。
                                    WATCH:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
                    4. 脚本
                            使用 Lua 解释器来执行脚本。
                            常用命令:
                                    EVAL script numkeys key [key ...] arg [arg ...]:执行 Lua 脚本。
                                    SCRIPT EXISTS script [ script ... ]:查看指定的脚本是否已经被保存在缓存当中。
                                    SCRIPT FLUSH:从脚本缓存中移除所有脚本
                                    SCRIPT KILL:杀死当前正在运行的 Lua 脚本。
                                    SCRIPT LOAD script:将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本
                    5. 连接
                            连接 redis 服务
                            常用命令:
                                    AUTH password:验证密码是否正确
                                    ECHO message:打印字符串
                                    PING:查看服务是否运行
                                    QUIT:关闭当前连接
                                    SELECT index:切换到指定的数据库
                    6. 服务器
                            管理 redis 服务
                            常用命令:
                                    BGSAVE:在后台异步保存当前数据库的数据到磁盘
                                    CLIENT KILL [ip:port] [ID client-id]:关闭客户端连接
                                    CLIENT LIST:获取连接到服务器的客户端连接列表
                                    CLIENT GETNAME:获取连接的名称                                    
                                    CLIENT PAUSE timeout:在指定时间内终止运行来自客户端的命令
                                    CLIENT SETNAME connection-name:设置当前连接的名称
                                    CLUSTER SLOTS:获取集群节点的映射数组
                                    CONFIG REWRITE:对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
                                    INFO [section]:获取 Redis 服务器的各种信息和统计数值
                                    LASTSAVE:返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
                                    ROLE:返回主从实例所属的角色
                                    SAVE:异步保存数据到硬盘
                                    SHUTDOWN [NOSAVE] [SAVE]:异步保存数据到硬盘,并关闭服务器
                                    SLAVEOF host port:将当前服务器转变为指定服务器的从属服务器(slave server
                    7. 数据备份与恢复
                    8. 安全
                    9. 性能测试
                    10. 客户端连接
                    11. 管道技术
                    12. 分区
    五. Redis 的配置文件(redis.conf)参数详解
    六. 扩展内容

时间: 2024-09-30 15:27:37

Redis基础及入门的相关文章

REDIS基础笔记

Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 资源链接 推荐书籍:<Redis入门指南> 资源列表: redis命令速查command | CMD索引-中文 | CMD树-中文 redis源码github 下载地址redis.io The Little Redis book 入口

Linux基础知识入门

[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168.40.128 2,Linux是一个操作系统, 与windows的区别:Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.Windows:图形化界面很炫,性能相对差,大众用户.windows的服务器: windows2003,win

linux redis基础应用 主从服务器配置

Redis基础应用 redis是一个开源的可基于内存可持久化的日志型,key-value数据库redis的存储分为内存存储,磁盘存储和log文件三部分配置文件中有三个参数对其进行配置 优势:和memcached相比,它支持存储的value类型相对更多,包括strings,lists,zsets(sorted set)和hashesredis会周期性的吧更新的数据写入磁盘或者把修改操作写入追加的记录文件并且在此基础上实现了master-slave(主从)同步 redis服务器服务器程序:redis

C#消息队列(MQ)零基础从入门到实战演练

一.课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次<C#消息队列零基础从入门到实战演练>分享课让您对消息队列有一个实质性的了解和认识,达到实际的灵活贯通和运用.本次分享课您将学习到以下知识点: 1.微软MSMQ的基本使用技能以及MSMQ在WCF技术中的运用. 2.企业级RabbitMQ消息队列的两种消费模式(生产消费和发布订阅)的介绍和使用. 3.如何实现RabbitMQ客户端(Client

Redis 基础应用

Redis 基础应用(一) ============================================================================== 概述: ============================================================================== Redis简介  1.简介 ★Redis REmote DIctionary Server(Redis) 是一个由Salvatore Sanfili

足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一)

在足球赛事数据库以及统计分析预测平台中,有很多概念,如果不搞懂,很难进行下一步的工作.所以为了配合团队人员的学习和任务进行,特意编写这篇文章.如果有其他问题和不懂的,请留言,将根据情况进行更新. 本文原文地址:足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一) 1.指数1/2/3.... 我在 足彩基础知识入门(3)足彩赔率的本质 一文中介绍了赔率的概念,那么指数的概念和赔率以及结果是相关的.我们举个例子: 如上图的比赛,前面是竞彩非让球的赔率:1.74-3.25-4.15,也就是说

初学者必须掌握的redis 基础

这篇文章总结了常用的redis基础知识,希望初学者能够从中受益. 一 redis数据类型 redis支持5种类型的数据类型,它描述如下的: 1. 字符串 Redis字符串是字节序列.Redis字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512兆为上限. 2. 哈希 Redis的哈希是键值对的集合. Redis的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象. 3. 列表 Redis的列表是简单的字符串列表,排序插入顺序.您可以添

脱壳基础知识入门

现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳.越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那 么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的.除了密码学的应用,越来越多的软件加壳了,因此要求解密者 必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛.壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹.另外,论坛现在两极 分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但

马哥教育第二十三MySQL基础应用入门

1.MySQL基础应用入门                安装mariadb-10.0.19:                      vim /usr/local/mariadb-10.0.19-linux-x86_64/INSTALL-BINARY                                               cd /usr/local                      ln -sv mariadb-10.0.19-linux-x86_64 mysql