查看所有的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. Golang的格式化输出fmt.Printf

    本文来源:Go by example. Golang的格式化输出 和 C语言的标准输出基本一样,但是增加了一些针对Golang语言的特有数据结构的格式化输出方式. 一下就是实例: package ma ...

  2. MySQL基础~~表结构操作

    登录数据库服务器 mysql -h127.0.0.1 -uroot -p123456 创建数据库 create database test; 显示所有数据库 show databases; 指定要操作 ...

  3. Running kubernetes on windows

    docker-for-desktop minikube GKE cluster(?) docker-for-desktop https://docs.docker.com/docker-for-win ...

  4. php多进程pcntl学习-僵尸进程

    上个月写的文章,php多进程pcntl学习(一)现在发现并不完整,因为虽然提到了关闭子进程,但是并没有回收子进程,简单的说就是当子进程比父进程先退出,而父进程没对其做任何处理的时候,子进程将会变成僵尸 ...

  5. php实现常驻进程 多进程监控

    php都是通过crontabd定时脚本处理队列的,面试被问到php如何常驻进程进行处理队列,想了半天这样不知道是否是一种方式 <?php function logs(){ file_put_co ...

  6. RocketMQ事务消息实战

    我们以一个订单流转流程来举例,例如订单子系统创建订单,需要将订单数据下发到其他子系统(与第三方系统对接)这个场景,我们通常会将两个系统进行解耦,不直接使用服务调用的方式进行交互.其业务实现步骤通常为: ...

  7. Windows 安装补丁的另外一种方法

    Windows的补丁安装时经常出现异常提示: 如果安装不上的话 可以使用dism的方式来进行安装: 具体方法: 1. 将补丁包 一般为msu 或者是exe文件,改成rar后缀,并且解压缩,获取cab文 ...

  8. hive视图

    简化复杂的查询 员工好.姓名.月薪.年薪.在一个emp表中; 部门名称在dept的表中;并未年薪起了一个名字annlsal 查询视图 视图是一个虚表,是不存数据的

  9. Spark_RDD之基本RDD操作

    1.基本转化操作    1.1最常用的两个转化操作时map()和filter(). map()接收一个函数,把这个函数用于RDD中的每个元素,将函数作用之后的结果作为结果RDD中元素的值. filte ...

  10. BZOJ1563 NOI2009诗人小G(动态规划+决策单调性)

    设f[i]为前i行的最小不协调度,转移枚举这一行从哪开始,显然有f[i]=min{f[j]+abs(s[i]-s[j]+i-j-1-m)p}.大胆猜想有决策单调性就好了.证明看起来很麻烦,从略.注意需 ...