MacOs环境

Redis基本命令

  • 启动服务:redis-server
  • 连接服务:redis-cli
    • -h 指定主机/IP
    • -p 指定端口
    • -a 指定密码
  • 关闭服务:先shutdown 保存数据并关闭服务;再quit 退出服务
  • 获取服务器信息
    • 启动并连接服务之后,执行info
    • 或直接在shell中执行redis-cli info
    • 参数指定要获取的某部分信息,例如info memory用来获取内存信息
      • Server:关于Redis服务器的基本信息
      • Clients:客户端连接的状态和指标
      • Memory:大致的内存消耗指标
      • Persistence:数据持久化相关的状态和指标
      • Stats:总体统计数据
      • Replication:主从复制相关的状态和指标
      • CPU:CPU使用情况
      • Cluster:Redis Cluster的状态
      • Keyspace:数据库相关的统计数据

Redis数据类型

  • 字符串

    • set 设置键值对,已存在则覆盖,成功返回OK

      • SET <key> <value>
    • get 返回键对应的值,不存在则返回nil
    • strlen返回键对应的值的长度,不存在则返回0
    • append向键的字符串值末尾追加字符串,返回新串长度
    • setrange更新字符串值,偏移从0开始,返回新串长度
      • setrange key 偏移值 newValue
    • setnx设置键值对,已存在则返回0不覆盖;成功返回1
    • msetmget 一次性设置/获取多个键值对
      • MSET key value [key value...]
    • object encoding <key>查看字符串编码方式
      • int
      • embstr 长度小于等于44字节的字符串
      • raw 长度大于44字节的字符串
  • 列表
    • lpush左端插入 rpush右端插入
      -lrange <list> 0 -1获取所有list的值

      • 列表索引可以按照从左到右指定为0 ~ N-1,也可以按照从右到左指定为-1 ~ -N
    • linsert <list> after v1 v2在list列表的v1元素后面插入v2
    • lindenx <list> 3获取list中索引为3的元素(0开始)
    • lpushxrpushx列表存在时才将元素插入
    • lpoprpop左右两端删除,不存在返回nil
    • ltrim <list> index1 index2 删除list中index1-index2之外的元素
    • lset <list> index value将list索引为index的值设置为value
    • blpop <list> timebrpop <list> time 若list中无数据,阻塞time秒,0表示持续阻塞
  • 哈希
    • hmset <hashName> field name [field name...]设置哈希表
    • hmget <hashName> field field...从一个哈希表中获取多个字段对应的值
    • hget <hashName> field从一个哈希表中获取某个字段对应的值
    • hexists <hashName> field测试一个哈希中是否存在某个字段
    • hgetall获取一个hash的所有字段值(过大的哈希容易造成阻塞)
    • hscan key cursor [MATCH pattern] [COUNT number]增量地迭代遍历元素
      • cursor表示游标,迭代开始位置
      • MATCH匹配满足制定Glob表达式的字段
      • COUNT指定每次迭代的返回元素个数,默认是10
      • 返回的新游标为0时表示遍历完成
    • hset修改现有字段的值或增加新的字段
    • hdel删除一个hash中的某个字段
    • hsetnx字段不存在时设置字段
  • 集合
    • 唯一、无序
    • sadd set member [member...]给集合添加元素
    • sismember set member检测member是否在set中
    • srem从集合中删除元素
    • scard获取集合中元素数量
    • smembers列出集合所有元素(数据量大会导致阻塞)
    • 集合运算
      • 并集计算:sunionsunionstore
      • 交集计算:sintersinterstore
      • 差集计算:sdiffsdiffstore
      • 不带store直接返回操作结果;反之将结果存到一个指定的键中
  • 有序集合
    • zadd 添加集合元素
    • zrevrange获取集合排序
    • zincrby对集合中某个元素增加权重分数
    • zrevrank查看元素排名
    • zscore查看元素权重
    • zunionstore sumName 2 set1 set2 weights 1 2 合并两个集合排名
      • 第一个2指合并的集合数目
      • weights后面的数字指集合权重的倍数,set1的权重值乘1,set2的权重值乘2
  • HyperLogLog
    • pfadd 增加数量
    • pfmerge合并
    • pfcount计算非重复总量
  • Geo
    • geoadd增加经纬度坐标
    • geopos获取指定成员坐标
    • georadius获取指定范围内的坐标,中心点由输入的经纬度指定
    • georadiusbymember获取指定范围内的坐标,中心点由Geo集合中的成员指定
    • geodist比较两个坐标点的距离

Redis键管理

  • dbsize获取Redis中键的个数
  • keys *scan number获取Redis中的所有键
  • delunlink删除Redis中的键
  • exists判断一个键是否存在
  • type获取一个键的数据类型
  • rename重命名一个键
    • 最佳实践:如果目标键已存在,则先unlink再重命名

Redis学习笔记(一)— 基本命令和数据类型的更多相关文章

  1. Redis学习笔记(五)- 数据类型之set类型

    Redis 的set是string类型的无序集合.set元素最大可以包含(2的32次方-1)个元素.set的是通过hash table实现的,所以添加,删除,查找的复杂度都是O(1).hash tab ...

  2. Redis学习笔记(四)-数据类型之list类型

    redis的list类型其实就是一个每个子元素都是string类型的双向链表.所以[lr]push和[lr]pop命令的算法时间复杂度都是O(1).另外list会记录链表的长度.所以llen操作也是O ...

  3. Redis学习笔记(三)-数据类型之string类型

    string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象.从内部实现来看其实string可以看作byte ...

  4. Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash

    引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...

  5. Redis学习笔记(二) Redis 数据类型

    Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...

  6. Redis学习笔记(三)Redis支持的5种数据类型的总结

    继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...

  7. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  8. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  9. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  10. Redis学习笔记(1)——Redis简介

    一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value ...

随机推荐

  1. redash oracle 数据源docker 镜像

    redash 官方的docker 镜像是没有包含oracle的,需要我们自己添加,参考了一个docker 镜像进行了简单的修改 Dockerfile FROM redash/redash:7.0.0. ...

  2. Xamarin 自定义OnKeyDown 再按一次退出程序的实现

    private DateTime? lastBackKeyDownTime; public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { ...

  3. JQuery/JS插件 日期插件

    用于日期的计算,功能比较全,我常用的主要是日期的计算(多一天少一天,或者添加几个月等),日期格式化 网址:http://momentjs.cn/ 测试代码: <!DOCTYPE html> ...

  4. 3-ESP8266 SDK开发基础入门篇--点亮一个灯

    https://www.cnblogs.com/yangfengwu/p/11072834.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevel ...

  5. mysql union 组合查询

    mysql> select * from test -> ; +----+------------+-------+-----------+ | id | name | score | s ...

  6. touchz,mkdir,vi的区别

    touchz:创建空白文档 mkdir:创建一个目录 vi : 创建一个编辑状态的空文档,保存退出后创建成功.

  7. 在Visual Studio中直接编译Fluent的UDF

    VS版本:Visual Studio 2013 Fluent版本:Fluent18.2 首先我们启动VS Studio中直接编译Fluent的UDF" title="在Visual ...

  8. 使用OSCache优化性能,及JPA二级缓存

    1.使用静态化页面技术: 要统计产品的浏览次数: 在<body> <img src="http://www.site.com/data/count.do?productId ...

  9. 【转】ANDROIDROM制作(一)——ROM结构介绍、精简和内置、一般刷机过程

    作为对Rom制作的一个总结,本节主要介绍以下内容:  1.Rom介绍  2.Rom文件结构  3.app的精简与内置  4.Recovery简介  5.radio包简介  6.一般刷机过程.刷机过程中 ...

  10. PHP系列 | 编译安装msgpack-php

    Msgpack 是一个 PECL 扩展,此扩展提供用于与 MessagePack 序列化通信的 API. MessagePack 是一个基于二进制高效的对象序列化类库,可用于跨语言通信.它可以像JSO ...