Redis支持的五种数据类型

  • 字符串 (string)
  • 字符串列表 (list)
  • 散列 (hash)
  • 字符串集合 (set)
  • 有序字符串集合 (sorted-set)

key(键)

  1. keys * 获取所有的key
  2. select 0 选择第一个库
  3. move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
  4. flush db 清除指定库
  5. randomkey 随机key
  6. type key 类型
  7. set key1 value1 设置key
  8. get key1 获取key
  9. mset key1 value1 key2 value2 key3 value3
  10. mget key1 key2 key3
  11. del key1 删除key
  12. exists key 判断是否存在key
  13. expire key 10 10过期
  14. pexpire key 1000 毫秒
  15. persist key 删除过期时间

string (字符串)

  • String类型是以二进制进行操作,最多容量数据的长度是512M
  1. set name cxx
  2. get name
  3. getrange name 0 -1 字符串分段
  4. getset name new_cxx 设置值,返回旧值
  5. mset key1 key2 批量设置
  6. mget key1 key2 批量获取
  7. setnx key value 不存在就插入(not exists
  8. setex key time value 过期时间(expire
  9. setrange key index value index开始替换value
  10. incr age 递增
  11. incrby age 10 递增
  12. decr age 递减
  13. decrby age 10 递减
  14. incrbyfloat 增减浮点数
  15. append 追加
  16. strlen 长度
  17. getbit/setbit/bitcount/bitop 位操作

hash(散列)

  • 每一个Hash可以储存(2^32-1)个:4294967295个键值对

  • String Key和String Value的map容器

  1. hset myhash name cxx
  2. hget myhash name
  3. hmset myhash name cxx age 25 note "i am notes"
  4. hmget myhash name age note
  5. hgetall myhash 获取所有的
  6. hexists myhash name 是否存在
  7. hsetnx myhash score 100 设置不存在的
  8. hincrby myhash id 1 递增
  9. hdel myhash name 删除
  10. hkeys myhash 只取key
  11. hvals myhash 只取value
  12. hlen myhash 长度

list(字符串列表)

  • 经常用于消息队列的服务,多个程序之间的交互
  1. lpush mylist a b c 左插入
  2. rpush mylist x y z 右插入
  3. lrange mylist 0 -1 数据集合
  4. lpop mylist 弹出元素
  5. rpop mylist 弹出元素
  6. llen mylist 长度
  7. lrem mylist count value 删除
  8. lindex mylist 2 指定索引的值
  9. lset mylist 2 n 索引设值
  10. ltrim mylist 0 4 删除key
  11. linsert mylist before a 插入
  12. linsert mylist after a 插入
  13. rpoplpush list list2 转移列表的数据

set(字符串集合)

  • Set集合中不允许出现重复的元素

  • 使用场景:

    1、跟踪一些唯一性数据:访问某博客的IP信息(将访问者的IP存入redis中)

    2、用于维护数据对象之间的关联关系(所有购买某一电子设备的用户的ID)

  1. sadd myset redis
  2. smembers myset 数据集合
  3. srem myset set1 删除
  4. sismember myset set1 判断元素是否在集合中
  5. scard key_name 个数
  6. sdiff | sinter | sunion myset1 myset2 操作:集合间运算:差集 | 交集 | 并集
  7. srandmember 随机获取集合中的元素
  8. spop 从集合中弹出一个元素

sorted-set(有序字符串集合)

  • 与set类似,但每个成员都有一个关联的score属性,用于排序。成员不可以重复,score可以重复
  • sorted-set中的每一个成员都有一个分数与之关联,redis通过这个分数来为集合中的成员进行排序(成员必须唯一,但是分数可以重复)
  • Sorted-Set : 字符串集合,不允许元素重复。存储元素时需要关联存储一个对应的分数,分数用于排序。元素不可重复但分数可重复。成员在集合中的位置是有序的。
  • 使用场景:游戏排名、微博热点话题、构建索引数据等等
  1. zadd zset 1 one
  2. zadd zset 2 two
  3. zadd zset 3 three
  4. zincrby zset 1 one 增长分数
  5. zscore zset two 获取分数
  6. zrange zset 0 -1 withscores 范围值
  7. zrangebyscore zset 10 25 withscores 指定范围的值
  8. zrangebyscore zset 10 25 withscores limit 1 2 分页
  9. Zrevrangebyscore zset 10 25 withscores 指定范围的值
  10. zcard zset 元素数量
  11. Zcount zset 获得指定分数范围内的元素个数
  12. Zrem zset one two 删除一个或多个元素
  13. Zremrangebyrank zset 0 1 按照排名范围删除元素
  14. Zremrangebyscore zset 0 1 按照分数范围删除元素
  15. Zrank zset 0 -1 分数最小的元素排名为0
  16. Zrevrank zset 0 -1 分数最大的元素排名为0
  17. Zinterstore
  18. zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325 weights 1 1 1 1 1 1 1

Redis的常用命令及数据类型的更多相关文章

  1. Jedis对Redis的常用命令操作

    本篇主要总结一些Jedis对Redis的常用命令操作: 1.对key操作命令 2.对String操作命令 3.对List操作命令 4.对Set操作命令 5.对Hash操作命令 6.排序操作指令 一.项 ...

  2. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  3. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  4. Redis(2):常用命令详解

    redis命令不区分大小写 通用命令:1. 获得符合规则的键名列表: keys pattern   其中pattern符合glob风格  ? (一个字符) * (任意个字符) [] (匹配其中的任意一 ...

  5. Redis的常用命令与Java整合及高级应用篇

    一,redis是什么? ​ 首先数据库分为关系型数据库和非关系型数据库,关系型数据库是采用关系模型来组织数据的数据库,简单来说就是二维表格模型,同时保证事务的一致性. ​ 相反非关系型数据库采用key ...

  6. centos7 yum安装redis及常用命令

    redis是什么 Redis是一种基于内存的数据结构存储,可持久化的日志型.Key-Value数据库.使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定 ...

  7. redis的常用命令及实例讲解

    使用命令行操作redis 数据类型 字符串String 列表list 使用双向循序链表实现(LinkedList) 散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合s ...

  8. 【redis】常用命令

    三.常用命令    1)连接操作命令    quit:关闭连接(connection)    auth:简单密码认证    help cmd: 查看cmd帮助,例如:help quit         ...

  9. Resis常用命令及数据类型

    1.下载Windows环境redis安装: 2.下载jar包: commons-pool2-2.4.2.jar jedis-2.9.0.jar 3.项目结构: 4.代码说明: package com. ...

随机推荐

  1. rabbitmq必须应答

    当autoAck设置为true时,只要消息被消费者处理,不管成功与否,服务器都会删除该消息, 而当autoAck设置为false时,只有消息被处理,且反馈结果后才会删除 https://www.cnb ...

  2. java类使用

    package java04; /* * 通常情况下,一个类不能直接使用,需要创建一个对象,才能使用 * *步骤: * 1.导包:就是指出需要使用的类在什么位置 * import 包名称.类名称: * ...

  3. JavaScript的三大组成部分

    JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现 ...

  4. Es学习第十课,ElasticSearch集群搭建

    前面几课我们已经把ES的基本概念和查询了解了,大家知道ES的核心优势就是天生支持分布式,所以,这课我们专门讲讲怎么搭建实现ES的集群部署. ES分布式原理 1.es分布式概念 主分片(Primary ...

  5. Android Lint Problem

    问题概述: Type: Android Lint Problem   解决方法: select problems -> quick fix-> Clear Lint Markers

  6. Python的"random"函数的使用(一)

    random.randrange(1,10) 随机产生0~7之间的整数,不包含7. random.sample(range(100), 5) 随机从range(100)中产生5个数,放入一个list. ...

  7. vue开发微信公众号--地图

    在最近开发的微信公众号中,要实现一个打卡功能: 由于个人感觉微信SDK里面的地图不太好用,所以使用了腾讯地图. 在项目中引入腾讯地图 1,需要登录腾讯地图网站,注册一个账户,获得一个key. 2,然后 ...

  8. 正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马

    核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限 ...

  9. EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)

    转:http://blog.csdn.net/dajian790626/article/details/8464722 有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便 ...

  10. (转)使用InfluxDB+cAdvisor+Grafana配置Docker监控

    文档来源 文档来源:How to setup Docker Monitoring 由garyond翻译.校正及整理 Docker监控简介 我们提供的Docker主机和容器越来越多,对Docker服务器 ...