Redis简单使用

本文简单介绍Redis的特点、优势以及redis原生的简单实用方法,如何安装和卸载redis到服务器请参考docker安装及删除Redis

Redis简介

Redis英文全称Remote Dictionary Server,即远程字典服务,作者Salvatore Sanfilippo,网名antirez。

Redis是一个开源的使用 C语言 编写,遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。Redis是一个非关系型数据库(Not only Sql, 简称NoSql)。

Redis特点

1、Redis支持多种数据类型;

2、Redis支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

3、Redis支持数据的备份,即master-slave模式的数据备份

Redis优势

1、Redis性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s ;

2、Redis的所有操作都是原子性的,要么成功执行要么失败完全不执行。多个操作也支持事务,Redis支持对几个操作合并后的原子性执行,通过MULTI和EXEC指令包起来。

3、Redis提供了丰富的特性,支持 publish/subscribe、通知、key 过期等等特性。

4、Redis提供了丰富的数据类型, 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作,可根据不同的场景选择不同的数据类型。

Redis数据类型

1、string:字符串

2、hash:哈希

3、list:列表

4、set:集合

5、zset:有序集合

string类型

string 是 redis 最基本的类型,可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value,它是二进制安全的,可以包含任何数据,比如图片或者序列化的对象等,最大value存储值为512MB。

常用相关指令:

SET key value

设置指定的key的value值。

在 Redis 2.6.12 以前版本, SET 命令总是返回 OK 。

从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK

GET key

获取指定的key的value值,如果 key 不存在时,返回 nil。 如果 key 不是字符串类型,那么返回一个错误。

GETSET key value

将给定 key 的值设为 value ,并返回 key 的旧值(old value)。

当 key 没有旧值时,即 key 不存在时,返回 nil 。

当 key 存在但不是字符串类型时,返回一个错误。

MGET key [key1 key2...]获取所有(一个或多个)给定 key 的值
SETNX key value

只有在 key 不存在时设置 key 的值。

设置成功,返回 1 。 设置失败,返回 0 

SETEX key seconds value

将值 value 关联到 key,并将 key 过期时间设为 seconds (以秒为单位)。

设置成功时返回 OK。

STRLEN key

返回 key 所储存的字符串值的长度。

当 key 不存在时,返回 0。

MSET key value [key value...]

同时设置一个或多个 key-value 对。

总是返回 OK 。

MSETNX key value [key value...] 

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

当所有 key 都成功设置,返回 1 。 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。

PSETEX key millseconds value

将值 value 关联到 key ,并将 key 的过期时间设为 millseconds (以毫秒为单位)。

设置成功时返回 OK 。

INCR key将 key 中储存的数字值增一
INCRBY key increment将 key 所储存的值加上给定的增量值(increment)
INCRBYFLOAT key increment将 key 所储存的值加上给定的浮点增量值(increment)
DECR key将 key 中储存的数字值减一
DECRBY key increment将 key 所储存的值减去给定的增量值(increment)
APPEND key value

如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾

案例:

SET key value/GET key:

 GETSET key value:

MGET key [key1 key2...]

 SETNX key value

  SETEX key second value

STRLEN key

 INCR key / INCRBY key increment / DECR key / DECRBY key increment

 

 INCRBYFLOAT key increment

hash类型

hash 是一个 string 类型的 field(字段)和 value(值)的映射表,适合用于存储对象,Redis 中每个 hash 可以存储40多亿键值对

常用相关指令:

HSET key field value

将哈希表 key 中的字段 field 的值设为 value 。

如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。

HGET key field

获取存储在哈希表中指定字段的值。

如果给定的字段或 key 不存在时,返回 nil 。

HMSET key field1 value1 [field1 value2...]

同时将多个 field-value (域-值)对设置到哈希表 key 中。

如果命令执行成功,返回 OK 。

HMGET key field1 [field2...]获取所有给定字段的值,表值的排列顺序和指定字段的请求顺序一样。
HSETNX key field value

只有在字段 field 不存在时,设置哈希表字段的值。

设置成功,返回1。如果给定字段已经存在且没有操作被执行,返回 0 。

HGETALL key

获取在哈希表中指定 key 的所有字段和值。

以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。

HEXISTS key field

查看哈希表 key 中,指定的字段是否存在。

如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。

HDEL key field1 [field2 ...] 

删除一个或多个哈希表字段。

HKEYS key获取所有哈希表中的字段,当 key 不存在时,返回一个空列表。
HLEN key获取哈希表中字段的数量。
HVALS key获取哈希表中所有值。
HINCRBY key field increment为哈希表 key 中的指定字段的整数值加上增量 incremen

 案例:

HSET key field value / HGET key field / HMSET key field1 value1 [field1 value2...]

 HMGET key field1 [field2...] / HGETALL key / HKEYS key

HVALS key / HEXISTS key field / HLEN key

HSETNX key field value / HDEL key field1 [field2 ...] 

list类型

后续增加。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值