redis的入门与介绍(一)

本文介绍了Redis的入门知识,包括下载安装、基本使用、数据结构(string、hash、list、set、zset)及其命令实例。在CentOS 7环境下,通过源码编译安装Redis,并演示了启动服务和客户端。文章强调Redis的数据结构服务,如string的二进制安全特性,hash、list、set、zset的特性及操作。此外,还提到了bitmap和HyperLogLogs两种特殊的数据结构。
摘要由CSDN通过智能技术生成

说明

本文讲述内容为 redis 的下载、安装、数据结构类型以及相关的命令实例演示。目前为 redis 入门与介绍的第一部分,后续第二部分将介绍 redis 的配置文件、过期策略以及持久化策略等知识。

概述

  • redis 是开源的内存数据结构存储服务,可用于数据库、缓存和消息代理等。
  • 支持字符串、哈希、列表、集合以及有序集合等数据结构。
  • 具有内置的复制、Lua 脚本、LRU 过期策略、事务和不同级别的磁盘持久性。
  • 为了获得出色的性能,redis 的数据都存放在内存中,但可以根据我们的配置通过将数据转储到磁盘中或者将每个命令附加到 log 进行持久化,这分别对应了 redis 的 RDB 和 AOF 持久化策略(后续第二部分会详细介绍)

入门&基本使用

环境:

  • CentOS 7
  • Redis 2.8.17

注://前缀为注释,#前缀为执行命令,>前缀为redis客户端

下载安装redis

// 下载redis
# wget http://download.redis.io/releases/redis-2.8.17.tar.gz
// 解压
# tar xzf redis-2.8.17.tar.gz
# cd redis-2.8.17
// 编译
# make

make 命令执行完后 redis-2.8.17 目录下会出现编译后的 redis 服务程序 redis-server,以及用于测试的客户端程序 redis-cli,这两个程序都位于安装目录 src 目录下。

启动redis服务

// 以redis.conf配置文件启动redis服务
# ./src/redis-server ./redis.conf 

在这里插入图片描述
若执行命令后,显示上图则说明启动成功,但默认不作为守护进程运行,这不便于我们后续进行操作,故在这里需要对配置文件进行一些修改。

// ctrl + C 关闭redis服务,打开配置文件
# vim ./redis.conf
// 输入命令,显示行号
# :set nu
// 修改37行配置:no改成yes,将redis服务修改为守护进程(类似windows的后台进程)
// 在这里暂时不解释配置文件,第二部分会对配置文件进行详细的解释。

在这里插入图片描述

// 保存配置文件后,再次启动redis服务
# ./src/redis-server ./redis.conf 
// 查看redis服务是否有正常运行
# ps -ef|grep redis
// 如下图所示,则表示启动成功

在这里插入图片描述

启动redis客户端

// 启动redis客户端
# ./src/redis-cli
//测试连接
> ping
PONG

到这里,我们已经成功安装并启动了 redis,接下来将介绍 redis 的相关数据类型,并使用 redis 客户端测试相关命令。

redis数据类型

redis 不是简单的键值存储,它实际上是一个数据结构服务,支持不同类型的值。这意味着在传统键值存储中,将字符串键与字符串值相关联,而在redis中,该值不仅限于简单的字符串,还可以保存更复杂的数据结构。
redis 支持五种基本数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(sorted set:有序集合)。
注:在 redis 5.0 版本后出现了新的数据类型 stream(流),本文暂不详细讲述该部分。

string

  • string 是 redis 最基本的类型,一个 key 对应一个 value;
  • string 类型是二进制安全的。即 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
  • string 类型的值最大能存储 512MB
> set mykey somevalue
OK
> get mykey
"somevalue"
命令 解释
set key value 设置指定 key 的值,若已经有值,则覆盖值(包括生存时间 TTL)
get key 获取指定 key 的值

值得注意的是,set 命令有一些可选参数,可以达到一些特殊效果。

// nx:只在键不存在时,才对键进行设置操作。 SET key value NX 效果等同于 SETNX key value
> set mykey newval nx
(nil)
// xx:只在键已经存在时,才对键进行设置操作。
> set mykey newval xx
OK

因为 SET 命令可以通过参数来实现和 SETNX 、 SETEX 和 PSETEX 三个命令的效果,所以将来的 Redis 版本可能会废弃并最终移除 SETNX 、 SETEX 和 PSETEX 这三个命令。

除此之外,还可以进行原子增量:

> set counter 100
OK
> incr counter
(integer) 101
> incr counter
(integer) 102
> incrby counter 50
(integer) 152
命令 解释
incr key 将 key 中存储的数字值增一
incrby key increment 将 key 所存储的值加上给定的增量值(increment)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值