由于项目中经常会使用Redis作为缓存,所以,在此记录Redis的日常使用操作与基础命令

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

redis官网: https://redis.io

redis中文网: http://www.redis.net.cn  (对于英文不好的同学)

数据结构包括: 字符串,哈希,列表,集合,有序集合还有发布订阅等

1. 字符串

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个键最大能存储512MB。

redis 127.0.0.1:6379> SET name "redis.net.cn"
OK
redis 127.0.0.1:6379> GET name
"redis.net.cn"

命令:

set  key  value

2. 哈希

Redis hash 是一个键值对集合。

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 每个 hash 可以存储 232 - 1 键值对(40多亿)

redis 127.0.0.1:6379> HMSET user:1 username redis.net.cn password redis.net.cn points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "redis.net.cn"
3) "password"
4) "redis.net.cn"
5) "points"
6) "200"
redis 127.0.0.1:6379>

3.列表

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)

redis 127.0.0.1:6379> lpush redis.net.cn redis
(integer) 1
redis 127.0.0.1:6379> lpush redis.net.cn mongodb
(integer) 2
redis 127.0.0.1:6379> lpush redis.net.cn rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange redis.net.cn 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
redis 127.0.0.1:6379>

4. 集合

Redis的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

redis 127.0.0.1:6379> sadd redis.net.cn redis
(integer) 1
redis 127.0.0.1:6379> sadd redis.net.cn mongodb
(integer) 1
redis 127.0.0.1:6379> sadd redis.net.cn rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd redis.net.cn rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers redis.net.cn1) "rabitmq"
2) "mongodb"
3) "redis"

5.有序集合

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

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

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

redis 127.0.0.1:6379> zadd redis.net.cn 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd redis.net.cn 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE redis.net.cn 0 10001) "redis"
2) "mongodb"
3) "rabitmq"

  1) 添加有序集合数据

zadd setName 80 pythonzadd setName 90 javazadd setName 100 php

  2)查看分数

zscore setName python   // '80'

zscore setName php       // '100'

  3)按照名次查看排行榜

zrevrange  setName  0  -1  withscores//0:开始索引位置    -1:结束位置(包含) 获取所有排行的数据
//withscores 排行并返回分数> 1) “php”
> 2) “100”
> 3) “java”
> 4) “90”
> 5) “python”
> 6) “80”

    查看前三名

zrevrange setName 0 2 withscores//正常我们都是倒序,我们还可以从低到高排序  使用命令 zrange即可

  4)直接查看排名

//与zrevrange类似,zrevrank是以分数由高到低的排序返回玩家排名(实际返回的是以0开始的索引),对应的zrank则是以分数由低到高的排序返回排名

zrevrank setName php    //0

  5)  增减排行榜分数

//有的排行榜是在变更时重新设置玩家的分数,而还有的排行榜则是以增量方式修改玩家分数,增量可正可负。如果执行zincrby时玩家尚不在排行榜中,则认为其原始分数为0,相当于执行zdd。

zincrby setName 15 python //95 返回修改之后的数据

  6) 移除某个玩家

zrem setName java  // 1

  7)   删除排行榜

del  setName //1

6.发布订阅

命令练习:  http://try.redis.io/

转载于:https://www.cnblogs.com/xingxia/p/redis_commands.html

Redis常用命令汇总相关推荐

  1. docker运行yyets_docker常用命令汇总

    docker常用命令汇总,容器,镜像,内核,版本,端口 docker常用命令汇总 易采站长站,站长之家为您整理了docker常用命令汇总的相关内容. docker安装 1.要求:linux内核在3.1 ...

  2. Docker常用命令汇总

    Docker常用命令汇总 帮助命令 docker version docker info docker --help 镜像命令 docker images 列出本地主机上的镜像,各个选项说明如下: R ...

  3. linux常用命令汇总

    linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...

  4. python命令大全下载-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

  5. python常用命令大全-Python pip 常用命令汇总

    使用了这么就pip命令,但是一直是简单使用,很多命令都是用了查,查了用,今天把常用的命令汇总一下,方便使用. 命令: pip 由上图可以看到 pip 支持一下命令 Commands: install ...

  6. Redis常用命令集

    Redis常用命令集 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同 ...

  7. Redis常用命令之操作Hash类型

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  8. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用命令汇总①(超全面!超详细!)收藏这一篇就够了! Linux命令基础 Shell Linux命令分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获取命令帮助的方法 ...

  9. Redis —— 常用命令一览

    引言 参考<菜鸟教程 Redis 常用命令>,其中红色为极其重要,蓝色为重要. 一.总览 二.key相关命令 三.String 相关命令 四.Hash 相关命令 五.List 相关命令 六 ...

  10. cmd cd命令_Windows系统CMD命令提示符的常用命令汇总

    一.概述 本期文章分享Window 系统CMD命令提示符的常用命令汇总,结合具体的使用场景,向各位小伙伴分享关于Window操作系统系统管理.磁盘管理.文件管理.进程任务管理.网络管理和常用工具等命令 ...

最新文章

  1. Linux基础 30分钟GDB调试快速突破
  2. python urllib.request 爬虫 数据处理-Python网络爬虫(基于urllib库的get请求页面)
  3. c语言enum能自定义吗,18、C语言 —— 枚举enum
  4. 古典密码学-古典密码破解方式
  5. 网管交换机与非网管交换机的利弊介绍
  6. 3ds Max中Vray分布式渲染
  7. IT 行业的创新 - 创新的迷思 (7-8)
  8. Python xlwt 操作 excel 表格基础(三):单元格格式、字体格式、对齐方式、边框及填充等
  9. 第九章:iOS应用的界面编辑
  10. 058 不定积分计算工具总结
  11. eclipse中误删了servers文件的处理方法
  12. apk闪退_安卓手机经常闪退怎么办?安卓手机闪退解决办法
  13. top和margin-top的区别
  14. 数据分析师要掌握SQL到什么程度?
  15. tomcat(非安装版) 服务不能启动但是startup 却可以启动的问题
  16. MailKit和MimeKit 收发邮件
  17. css美化radio
  18. 可视化读书笔记(一)
  19. QT笔记--QT内类的层次关系,以及控件从属关系
  20. 5GNR漫谈15:OFDM与IFFT

热门文章

  1. Win7X64位Seleniume+Eclipse+Pydev环境搭建
  2. ExtJS2.0.1 ColumnTree控件使用心得
  3. 第二讲:Obj-C 点语法
  4. ACL'22 | 使用对比学习增强多标签文本分类中的k近邻机制
  5. 【IJCAI 2020】篇章要素识别和篇章结构评分(下)
  6. ACL 2021之后是EMNLP 2021(征稿通知)
  7. 腾讯自然语言处理实习面经
  8. 百度工程师带来干货分享,助你转型AI应用工程师!
  9. 【EMNLP2020】一种多层对多层的BERT蒸馏方法
  10. 【智能司法】可解释的Rationale增强罪名预测系统