Redis学习笔记一、Redis数据类型概念

一、Redis 数据类型

String :字符串 一个key对应一个value 基本数据类型 一个键最大值能存储512MB

> SET <String> <value>

> GET <String>

Hash :哈希 是一个键值(key=>value)对集合。

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

> HMSET <String> field1 <Value1> field2 <Value2>

> HGET <String> field1

List:列表

> lpush <String> <Value>

>lrange <String>

Set:集合

>sadd String <value>

>smembers <String>

zset(sorted set: 有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

> zadd String value

>ping //该命令用于检测redis 服务是否启动

 

二、命令:

1、基本命令

Redis 客户端的基本语法为

# redis-cli //该命令会连接本地的redis 服务

# Redis-cli -h host -p port -a password //在远程服务上执行命令

# redis-cli --raw 避免中文乱吗

1)DEL key //如果key 存在时删除key

2)DUMP key //序列化给定key, 并返回被序列化的值

3)EXISTS key //检查给定key 是否存在

4)EXPIRE key seconds //为给定的key 设置过期时间 以秒计

5)PEXPIRE key millseconds //设置 key 的过期时间以毫秒计

6)EXPIREAT key timestamp //设置过期时间 不同在于EXPIREAT 命令接收的时间参数是UNIX时间戳秒

7)PEXPIREAT key milliseconds-timestamp 就收时间戳毫秒

8)KEYS pattern //查找所有符合给定模式的key

9)MOVE key db 将当前数据库的key移动到给定的数据库db当中

10)PERSIST key //移除key的过期时间,key将持久保持

11)PTTL key //以毫秒为单位返回key的剩余的过期时间

12)TTL key //以秒为单位返回给定key的剩余生存时间

13)RANDOMKEY //从当前数据库中随机返回一个key

14)RENAME key newKey //修改key的名称

15)RENAMENX key newkey //仅当newkey 不存在时,将key改名为newkey

16)TYPE key //返回key所存储的值的类型

 

2、发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

2)发布订阅命令

PSUBSCRIBE pattern [patern …..]

订阅一个或多个符合给定模式的频道

 

PUBSUB subcommand [argument [argument….]]

查看订阅与发布系统状态

 

PUSLISH channel message

将信息发送到指定的频道

 

PUNSUBSCRIBE [channel [channel ….]]

退订所有给定模式的频道

 

SUBSCRIBE channel [channel…..]

订阅给定的一个或多个频道的信息

 

UNSUBSCRIBE [channel [channel…..]]

指退订给定的频道

 

3、事务

Redis 事务可以一次执行多个命令,并且带有以下三个重要的保证

1)、批量操作在发送EXE 命令前被放入队列缓存

2)、收到EXEC命令后事务执行,事务中任意命令执行失败,其余的命令依然被执行。

3)、在事务的执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中

 

一个事务从开始到执行会经历以下三个阶段

开始事务===> 命令入队 ==> 执行事务

实例:

> MULTI

> SET book “java”

> GET book

> SADD tag “c++” “php”

>SMEMBERS tag

> EXEC

单个redis 命令的执行时原子性的, Redis 事务的执行并不是原子性的。量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

 

 

1)DISCARD //取消事务,放弃执行事务块内的所有命令

2)EXEC // 执行所有事务块内的命令

3)MULTI // 标记一个事务块的开始

4)UNWATCH //取消WATCH 命令对所有key的监视

5)WATCH [ key [key ……]] //监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

 

4、Redis 数据备份与恢复

该命令将在 redis 安装目录中创建dump.rdb文件。

>SAVE

如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令

> CONFIG GET dir

创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。

>BGSAVE

5、Redis 安全

通过以下命令查看是否设置了密码验证默认情况下 requirepass 参数是空的,意味着你无需通过密码验证就可以连接到 redis 服务

127.0.0.1:6379> CONFIG get requirepass

1) "requirepass"

2) ""

设置密码

>CONFIG set requirepass “password”

> CONFIG get requirepass

登录

>AUTH password

6、性能测试

redis-benchmark [option] [option value]

参考链接菜鸟教程

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值