查看所有的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. b总结

    Beta 答辩总结 评审表 组名 格式 内容 ppt 演讲 答辩 总计 天机组 15 15 13 15 14 72 PMS 16 16 15 16 16 79 日不落战队 16 17 17 17 17 ...

  2. HDU 2012 素数判定

    http://acm.hdu.edu.cn/showproblem.php?pid=2012 Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括 ...

  3. Spring源码阅读学习一

    昨天抽时间阅读Spring源码,先从spring 4.x的core包开始吧,除了core和util里,首当其冲的就是asm和cglib. 要实现两个类实例之间的字段的复制功能: 多年之前用C#,因为阅 ...

  4. JS文件的写入

    1.引入filesaver.js插件: 2.JS: 方法一:var file = new File(["欢迎访问 hangge.com"], "文件导出测试.txt&qu ...

  5. IntersectionObserver简介

    写在前面 在移动端,有个很重要的概念,叫做懒加载,适用于一些图片资源特别多,ajax数据特别多的页面中,经常会有动态加载数据的场景中,这个时候,我们通常是使用监听scroll或者使用setInterv ...

  6. GROUP BY 聚合函数(max min sum avg count) 和HAVING的 使用

    重新复习一下这个都源自于我经常需要查的一个需求 “要找到表里面 出现了两次或者三次的某个字段” 现在假设有一张表字段是 +----+---------------------+------------ ...

  7. IDEA Maven 项目默认编译项目为JDK 1.5

    昨天晚上遇到一个问题,我在idea中创建了有个maven项目,想使用jdk1.8的lambda表达式,结果提示我错误,是1.8才可以.当时我想我的jdk就是1.8啊.经过各种搜索,才知道maven默认 ...

  8. jenkins--svn+添加钩子去触发jenkins的job工作

    找到svn钩子脚本 post-commit: 添加一个接口: /usr/bin/curl http://admin:admin@x.x.x.x:8080/job/svn/buildWithParame ...

  9. BZOJ3456 城市规划(多项式求逆)

    设f[i]为连通图的数量,g[i]为不连通图的数量,显然有f[i]=2i*(i-1)/2-g[i],g[i]通过枚举1所在连通块大小转移,有g[i]=Σf[j]*C(i-1,j-1)·2(i-j)*( ...

  10. VMware Linux虚拟机yum源更换成国内阿里源

    [虚拟机系统] Centos 6.8 阿里源:https://opsx.alibaba.com/mirror 网易源:http://mirrors.163.com/ 更换yum源时请保证虚拟机和外网是 ...