一、String

set : 添加数据
get : 获得指定 key 的 value
del : 删除指定 key
append : 往字符串后面添加
      append k1 12345
      --> v112345
strlen : 获取字符串长度
===================================================
incr key: 自加 1
decr key: 自减 1
incrby 3 key:自加3
decrby 3 key:自减3
===================================================
getrange k1 0 3 :获得value 0~3 的长度的字符串
setrange k1 0 abc:将value 前三个替换为 abc(从 0 开始的 abc)
===================================================
setex:(set with expire)添加数据并设置过期时间
      -->setex k1 10 abc(设置k1 为 abc 并10 秒过期)
setnx:(set if not exist)如果不存在的话,就设置
============= ======================================
mset  :(more set)  设置多个 set k1 v1 k2 v2
mget  :(more get)  获得多个 get k1 k2
msetnx :(more set if not exists) 如果不存在 同时设置多个,要么全部成功,要么全部失败

 二、hash ( value 是一个键值对,和 hashmap 差不多 )

hset user name jack
hget user name
hmset user id 1 name jack : 同时设置多个
hmget user id name : 同时获得多个
hkeys user :获得所有的 key
hvals user : 获得所有的 value
hgetall user : 以键值对的形式获得所有
hlen user:获得长度,一个键值对长度为1 
hexists user name : 判断 是否有name
hincrby user age 2 : 年龄 加 2
hincrbyfloat user score 0.2 : 分数加0.5(小数)
hsetnx user name jack : 若果没有 name 这个属性,才加进去
hdel user id:删除 id

三、list 链表 ( 是一个双向链表结构,可以双向操作 )

LPUSH list 1 2 3 4 5 : 依次向链表左边插入
RPUSH list 1 2 3 4 5 : 依次向链表右边插入
LRANGE list 0 -1     : 从左往右( 0 -1 读取全部)
===================================================
LPOP : 移除最左边一个,并返回
RPOP : 移出最右边一个,并返回
===================================================
LINDEX  list1 3: 读取 list1 的第 3 个索引位
LLEN list1 : 查看 list1 长度
LREM list1 2 3 : 删除 list1 的 2 个 3 (删除 N 个 value) 
LTRIM list1 0 4 : 截取 list1 的 0 到 4 ,并重新赋值给 list1
RPOPLPUSH list1 list2 : 对 list1 rpop操作返回的结果,对list2 lpush 操作
LSET key index value : 修改指定 index 上的value
LINSERT key before/after v1 v2 : 在 v1 前/后 添加 v2

四、Set( 不重复 )

sadd set1 1 1 2 2 33 : 添加,会自动去掉重复的数据
smembers set1: 查看 set 1 中的所有元素
sismember set1 a : 判断 a 是否是set1 的成员
===================================================
scard set1 : 获取 set 1 中元素的个数
srem key value : 删除指定的 value
srandmember set1  3 : 在set1 中随机找3个
spop set1 : 随机出栈
smove set1 set 2 a : 将 set1 中的 a 移到 set2 (set1 中就没有a 了)
===================================================
sdiff  set1 set2 : 差集 set1 在 set2 中不存在的元素
sinter set1 set2 : 交集 set1 和 set2 同时存在的元素
sunion set1 set2 : 病集 set1 和 set2 所有元素

五、Zset ( sorted set )

在 set 的基础上 加了一个 score 值
之前 set 是 k1 v1  v2 v3
现在 zset 是 k1 score1 v1 score2 v2 score3 v3 
zadd zset1 60 v1 70 v2 80 v3
zrange zset1 0 -1 : 获得所有的 value
zrange zset1 0 -1 withscores : 获得所有的 value 和 score
===================================================
zrangebyscore zset1 60 90 : 截取 60 到 90 分的(左闭右闭)
zrangebyscore zset1 (60 (90 : 截取 60 到 90 分的(左开右开)
zrangebyscore zset1 60 90 limit 3 3 : 截取 60 到 90 分的,
      从下标3 开始截取3 个长度
zrem zet1 v5 : 删除 zset 中的 v5
===================================================
zcard zset01 : 获得个数(score 和 value 是一体的)
zcount zset01 60 90 : 获得 60 分 到 90 分的个数
zrank zset01 v4 :获得 v4 的下标 
zscore zset01 v4 : 获得 v4 对应的 score
===================================================
zrevrank zset01 v4 : 逆序获得下角标
zrevrange zset01 v4 : 逆序显示
zrevrangebyscore zset01 90 60 : 结束分数到开始分数 逆序

redis 五大数据类型的更多相关文章

  1. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  2. 一文搞定Redis五大数据类型及应用场景

    本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...

  3. redis 五大数据类型使用

    redis 五大数据类型使用 字符串str 单个值 127.0.0.1:6379> set name pp # 设置键值[O(1)] OK 127.0.0.1:6379> setex na ...

  4. 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型

    热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....;  => keys product* 订单的 ...

  5. Redis五大数据类型详解

    关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...

  6. redis五大数据类型以及常用操作命令

    Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...

  7. 四:Redis五大数据类型

    Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...

  8. Redis五大数据类型

    首先说明下,Redis是:单线程+多路IO复用技术!!! string set  >  key  +  zset          list hash 常用的几个命令: >keys * 查 ...

  9. redis 五大数据类型之string篇

    一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...

  10. 细谈Redis五大数据类型

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇文章有提到,Redis中使用最频繁的有5种数据类型:String.List.Hash.Set.SortS ...

随机推荐

  1. 一见钟情Sublime

    打开 preferences -> Setting-User,加入下面代码 { "font_size": 14, "ignored_packages": ...

  2. Python查询数据库,中文的结果显示不出来

    表里面的数据: 问题:查询数据库,返回结果不是中文可以,是中文的话就报错UnicodeEncodeError: 'gbk' codec can't encode character '\xd4' in ...

  3. 安卓离线SDK Windows版 资源包下载地址全集

    1.Tools    https://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip https://d ...

  4. oc21--super

    // // Phone.h #import <Foundation/Foundation.h> typedef enum { kFlahlightStatusOpen, kFlahligh ...

  5. ioctl方法详解

    设备控制接口(ioctl 函数)回想一下我们在字符设备驱动中介绍的struct file_operations 结构,这里我们将介绍一个新的方法: int (*ioctl) (struct inode ...

  6. bzoj5178: [Jsoi2011]棒棒糖

    就是裸的主席树嘛... 表扬一下自己1A #include<cstdio> #include<iostream> #include<cstring> #includ ...

  7. php 日期格式化

    date('Y-m-d H:i:s',time()); 2014-09-01 05:06:01 date(' y-n-j G:i:s',time()); 14-9-1 5:06:01 mktime(h ...

  8. Selenium的文件上传JAVA脚本

    在写文件上传脚本的时候,遇到了很多问题,包括元素定位,以及上传操作,现在总结下来以下几点: 1. 上传的控件定位要准确,必要时要进行等待 WebElement adFileUpload = drive ...

  9. 获取远程请求的IP地址、本机Mac地址和客户端Mac地址

    我在近期项目里面去记录异常日志时,用到了这两个地址,也是从网上和前辈那里学习到的,本人项目是MVC框架的,自己整理了一个公共方法类,包括获取远程客户端IP和Mac地址,以及获取本机Mac地址的方法,代 ...

  10. [Offer收割]编程练习赛36

    逃离单身节 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector&g ...