查看所有的key

keys *

清空所有的key

flushall

检查key是否存在

exists key

设置已存在的key的时长

expire key        //设置key为10s

查看key还剩多少时长

ttl key   //-1是永久    -2是不存在

查看key的类型

type key

随机取出一个key

randomkey

重命名key

rename key  newkey    //如果key存在  直接覆盖

renamenx key newkey    //如果key存在 则失败  返回0

设置一定时间的key

setex key seconds val    //key  时间   val

psetex key seconds val   //和上面的功能一样   只不过多加一个p   区别是上面的时间是秒级别的   这个是毫秒级别的

字符串类型:

得到指定范围的字符串

getrange key      //闭合区间  取三个长度的字符串

得到旧的值并赋予新的值

getset key newval   

//比如说get a    得到A
//然后getset a AA 还是得到A
//但此时get a 得到的是AA

在字符串后面追加字符串

append key  append    //意思是在key的val后面加上append字符串

hash哈希(其实就是一个Map<String,Map<String,String>>格式的数据结构)

设置值

hset map name  liuzhonghua   //成功1  

检验是否存在

hexists map name     //存在1   不存在0

得到值

hget map name    //返回liuzhonghua

得到key所有的值

hgetall  map   

//返回  下面的这中格式    key val  key  val

name
liuzhonghua
age sex
man

得到值里面所有的key 和所对应的val

hkeys map  

//返回

name
age
sex
hvals map 
liuzhonghua
23
man

list列表

lpush list        //lpush 特点是最后放进去的总是在第一位

取一定范围的list值和特定索引的值

lrange list    //得到1 2 3

lindex list     //得到4

移除最后一个元素和第一个元素

lpop list  //移除第一个元素  6  返回6

rpop list   //移除最后一个元素 1  返回1 

将指定下标元素替换

lset list 0 a  //将下标为0的元素替换成a

删除元素,返回元素个数

LREM KEY_NAME COUNT VALUE  // 被移除元素的数量。 列表不存在时返回 0 。

set列表(特点:无序,不保证你放进去的和得到的顺序一致,值不重复)

增加

sadd set a b c d   //key是set    val 是  a b c d

得到这个集合的数量

scard  set        //返回4

查看key的val

smembers  set  //a b c d

两个集合的差集

sdiff set1 set2  //意思是set1 里面的值减去 set2里面的值  得到set1里面的值

两个集合的交集

sinter set1  set2

两个集合的并集

sunion set1 set2

返回指定数量的随机数

srandmember  set1       //随机返回set1的两个值

判断是否是集合的元素

sismember set1 a   //如果是 返回1  否则返回0

移除指定的val

srem set1 a b      //移除set1集合里面的a和b   返回成功的个数  2

随机移除set里面的val 并返回移除的值

spop  set1   //随机返回一个值

zset (有序集合,不重复)

增加(还得必须这样写  真操蛋  看不懂   后面都是一对一对的    艹,,,我懂了,100这样的数值是必须写的,因为是靠他们排序的,我们平常获取的值都是abc

这样的,切记)填坑,很有用这样的属性!!!!!!!!!!!!!

zadd zset   a   b   c    // key是zset  a的分数是100   b的分数是200   c的分数是300

查看有几个元素

zcard zset    //返回3

查看指定的某个值(还得必须这样写  )

zscore zset a    //返回100   

返回符合指定区间的数量

zcount zset      //返回2   闭合区间  就是说a 和 b 他俩所对应的值在0和200之间  符合要求

查看索引

zrank zset a    //0
zrank zset b //1
zrank zset c //2

增加值

zincrby zset  a   //意思是让a的值增加1000  当然a的顺序也会改变,因为zset是有序的 是根据他所对应的值来排序的

获取指定的元素

zrange zset        //意思是获取zset的前100个元素   a b c 

如果想获取一对一对的 比如说  a 100 b 200 c 300

zrange zset 0 100 withscores  

  高能预警:介绍几个常用的方法    (zset有序集合的方法)

  Redis Zremrangebyrank 命令: http://www.runoob.com/redis/sorted-sets-zremrangebyrank.html

Redis Zremrangebyrank 命令用于移除有序集中,指定排名(rank)区间内的所有成员。  返回  被移除成员的数量。

     Redis Zrevrange 命令        :   http://www.runoob.com/redis/sorted-sets-zrevrange.html

       Redis Zrevrange 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列

redis的入门篇---五种数据类型及基本操作的更多相关文章

  1. <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅

    文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set     -> key v ...

  2. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  3. redis五种数据类型的使用(zz)

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  4. redis五种数据类型的使用

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  5. Redis五种数据类型-设置key的过期时间

    1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...

  6. Redis安装及五种数据类型

    redis是非关系型数据库,也叫内存数据库.数据是键值对的形式,通过key查找value 安装Radis:6379 sudo apt-get update sudo apt-get install r ...

  7. Redis: Redis支持五种数据类型

    ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...

  8. Redis支持的五种数据类型

    redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...

  9. Redis学习笔记(3)—— 五种数据类型&keys的通用操作

    一.Redis数据结构介绍 redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点: 1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低 ...

随机推荐

  1. Java Swing 实现系统托盘图标

    在实现托盘图标时,出现弹出式菜单显示中文乱码,无法显示正确的文字 查询相关资料后发现是字符编码不匹配,查询资料出处 解决方法 1.通过修改Java项目的默认编码为GBK: 2.在Run Configu ...

  2. HTML5的placeHolder在IE9下workaround引发的Bug(按下葫芦起了瓢)

    详见StackOverFlow的:Simple jQuery form Validation: Checking for empty .val() failing in ie9 due to plac ...

  3. Docker 执行nginx以及简单进入container

    1. docker run -d --name mynginx nginx 运行起来nginx镜像之后 2. docker exec -ti mynginx /bin/bash 能够进入操作界面 发现 ...

  4. [日常工作]非Windows Server 系统远程经常断以及提高性能的方法

    1. 公司内有不少windows xp windows 7 这样的操作系统的机器在机房里面用来跑自动化脚本或者是其他用处. 经常有人反馈机器过一段时间连不上, 其实这一点是一个非常小的地方 很多机器上 ...

  5. Java微信二次开发(五)

    消息加密 需要到入库:commons-io-2.4.jar,commons-codec-1.9.jar(在官网的Java微信加密demo下) 第一步:访问https://mp.weixin.qq.co ...

  6. jmeter创建高级测试计划

    如果应用程序使用重写地址而不是使用cookie存储信息,需要做一些额外的工作去测试程序 为了正确的响应重写地址,jmeter 需要解析 从服务器获取html 并且检索会话ID, 1 合理利用pre-p ...

  7. jquery 選擇器

    jquery 選擇器有: 元素選擇器: $("p")選擇所有<p> $("p.intro")選擇所有class=“intro”的<p> ...

  8. 类的三大方法 与__init___

    静态方法  存储在类中 实例方法 与类方法都能调用 不需要 传递self 相当于在类里面写了一个函数 类方法 存储在类中 只能是类调用 普通方法  存储在类中  由实例对象使用 在实例化类的时候 就相 ...

  9. 矩阵游戏 HYSBZ - 1059(最大流)

    1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6266  Solved: 3065[Submit][Stat ...

  10. BZOJ 4806 - 4809 象棋四题

    4806: 炮 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 103  Solved: 72[Submit][Status][Discuss] Des ...