zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

redis的入门篇---五种数据类型及基本操作

Redis --- 数据类型 基本操作 入门篇 五种
2023-09-11 14:15:07 时间

查看所有的key

keys *

清空所有的key

flushall

检查key是否存在

exists key

设置已存在的key的时长

expire key  10      //设置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 0 2    //闭合区间  取三个长度的字符串

 得到旧的值并赋予新的值

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
23
sex
man

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

hkeys map  

//返回

name
age
sex

hvals map 
liuzhonghua
23
man

 list列表

lpush list 1 2 3 4 5 6  //lpush 特点是最后放进去的总是在第一位

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

lrange list 0 2  //得到1 2 3


lindex list 3    //得到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  2     //随机返回set1的两个值

判断是否是集合的元素

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

 移除指定的val

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

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

spop  set1   //随机返回一个值

 zset (有序集合,不重复)

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

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

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

 查看有几个元素

zcard zset    //返回3

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

zscore zset a    //返回100   

 返回符合指定区间的数量

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

 查看索引

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

 增加值

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

获取指定的元素

zrange zset  0  100    //意思是获取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 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列