查看所有的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. mysql外键关联

    主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表 ...

  2. 通过LVM给Linux扩容

    主要参考以下两篇文章: 1:https://www.cnblogs.com/sixiweb/p/3360008.html 2:https://wenku.baidu.com/view/42deee1a ...

  3. JavaScript表单验证登录

    在登录时,通常是将输入的信息原封不动的传送给后端的处理程序,然后处理之后返回结果,那么可能后端服务器的压力就很大,所以可以先在提交表单之前进行一些简单的检测,然后再发给后端,减小服务器的一部分压力: ...

  4. shell脚本--变量与数组

    Linux中的变量有环境变量和用户自定义变量,关于环境变量,可以查看这篇博客:linux环境变量 本文主要针对的是用户在shell脚本中定义的变量,但是环境变量也可以在shell脚本中使用. 普通变量 ...

  5. C语言ODBC数据库操作

    今天我们来介绍一下C语言操作数据库的方法,这里我们使用的是ODBC方式.环境是WIN7+VC6.其他环境也差不多,具体情况具体分析. 首先是环境的配置以及数据源的添加.这里就不去解释了,相关资料网上有 ...

  6. 关于Windows 2019 antimalware 进程占用CPU 过多的处理方法 关闭windows 病毒防护的方法

    0. 客户端打开报错 重启之后 响应速度很慢. 解决办法: 1. 打开组策略 gpedit.msc 2.  选择位置为 3. 查看 进程里面后台程序 antimalware 进程消失 即可

  7. 如何根据元素的className获取元素?

    getElementsByClassName()是HTML5 新增的DOM API.IE8以下不支持 我们知道,原生的方法,是getElementById()和getElementsByTagName ...

  8. HTML5 & how to download SVG in js

    HTML5 & how to download SVG in js how to download SVG in js http://dinbror.dk/blog/how-to-downlo ...

  9. maven 聚合的含义是父类打包 ,清理等 则子类自动打包;也就是一键打包 方便服务

    maven 聚合的含义是父类打包 ,清理等 则子类自动打包:也就是一键打包 方便服务

  10. sakila数据库及其他数据库实例文件

    下载地址: https://dev.mysql.com/doc/index-other.html Other MySQL Documentation This page provides additi ...