妖怪幻 发表于 2016-12-18 08:15:06

redis 数据读取

  redis 简单介绍
  redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
  连接
  telnet ip port
  输入auth 18da2be71b42c3cfd678046534234234
  # telnet 00.00.00.1 1034
  Trying 00.00.00.1...
  Connected to 00.00.00.1 (00.00.00.1).
  Escape character is '^]'.
  auth 18da2be71b42c3cfd678046502fd6e8f
  +OK
  redis get的方法
  get user_password_1
  $20
  redis ZRANGE 方法
  命令
  ZRANGE key start stop
  例子:zrange APP 0 -1  从第一个数据到最后一个数据
  返回有序集 key 中,指定区间内的成员。
  其中成员的位置按 score 值递增(从小到大)来排序。
  具有相同 score 值的成员按字典序(lexicographical order )来排列。
  如果你需要成员按 score 值递减(从大到小)来排列,请使用 ZREVRANGE 命令。
  下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。
  你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。
  超出范围的下标并不会引起错误。
  比如说,当 start 的值比有序集的最大下标还要大,或是 start > stop 时, ZRANGE 命令只是简单地返回一个空列表。
  另一方面,假如 stop 参数的值比有序集的最大下标还要大,那么 Redis 将 stop 当作最大下标来处理。
  可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。
  客户端库可能会返回一些更复杂的数据类型,比如数组、元组等。
  可用版本:
  >= 1.2.0
  时间复杂度:
  O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。
  返回值:
  指定区间内,带有 score 值(可选)的有序集成员的列表。
  redis > ZRANGE salary 0 -1 WITHSCORES             # 显示整个有序集成员
  1) "jack"
  2) "3500"
  3) "tom"
  4) "5000"
  5) "boss"
  6) "10086"
  redis > ZRANGE salary 1 2 WITHSCORES              # 显示有序集下标区间 1 至 2 的成员
  1) "tom"
  2) "5000"
  3) "boss"
  4) "10086"
  redis > ZRANGE salary 0 200000 WITHSCORES         # 测试 end 下标超出最大下标时的情况
  1) "jack"
  2) "3500"
  3) "tom"
  4) "5000"
  5) "boss"
  6) "10086"
  redis > ZRANGE salary 200000 3000000 WITHSCORES   # 测试当给定区间不存在于有序集时的情况
  (empty list or set)
页: [1]
查看完整版本: redis 数据读取