首页 > 数据库 >redis基本操作

redis基本操作

时间:2022-09-23 15:03:05浏览次数:46  
标签:MM List redis value xx key 集合 基本操作

一、五大数据类型

1、String

set key value:设置值 get key:获取值 del key:删除key

strlen key:获取该key值对应的value值的长度

append key "xxx":在该key对应的value值追加上xxx

incr key:该key对应的value自增1 decr key:该key对应的value自减1'

incrby key xx:该key对应的value增加xx decrby key xx:减少xx

getrange key x1 x2: 获取x1-x2范围内的值,类似between...and的关系,从零到负一表示全部

String 数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。常规key-value缓存应用: 常规计数:微博数,粉丝数等

2、List列表

所有的list命令都是用l开头的

lpush 集合名 xx:将xx插入到集合头部 rpush:将xx插入到集合尾部

lrange 集合名 x y:获取集合里x-y的值 (0 -1为获取集合中所有的值)

lpop 集合名:移除该集合的左值 rpop:移除该集合的右值

lindex 集合名 x:获取该集合中下标为x的值 llen 集合名:获取集合的长度

lset 集合名 index xx:该集合下标为index的值更新为xx(不能添加)

linsert 集合名 before yy xx:在集合中的yy值前面插入一个xx值

linsert 集合名 after yy xx:在集合中的yy值后插入一个xx值

总结:

1、它是一个字符串链表,left,right 都可以插入添加

2、如果键不存在,创建新的链表 如果键已存在,新增内容

3、如果值全移除,对应的键也就消失了

4、链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

list就是链表使用Lists结构,我们可以轻松地实现最新消息排队等功能。List的另一个应用就是消息队列,可以利用List的PUSH操作,将任务存在List中,然后工 作线程再用POP操作将任务取出进行执行。Redis还提供了操作List中某一段的api,你可以直接查询,删 除List中某一段的元素。 Redis的list是每个子元素都是String类型的双向链表,可以通过push和pop操作从列表的头部或者尾部 添加或者删除元素,这样List即可以作为栈,也可以作为队.

3、Set

set中的值是不能重复的

sadd 集合名 值:向set集合中添加值 smembers 集合名:查看该set集合中所有的值

srem 集合名 值:移除set集合中的某个值 srandmember 集合名:随机取出集合中的一个值

spop 集合名:随机删除一些set集合中的元素 smove set1 set2 "xx":把set1中的xx移动到set2

sdiff set1 set2:差集 sinter set1 set2:交集 sunion set1 set2:并集

4、Hash

hset 集合名 key1 value1:给map集合中添加一个或者多个key-value键值对

hget 集合名 key:获取对应的key的value值 hgetall 集合名:获取集合中所有的键值对

hexists 集合名 key:判断该集合中的指定key是否存在 hkeys 集合名:获取集合中所有的key

5、Zset有序集合

zadd 集合名 scroe值 xx:想集合中增加xx值,排序的时候通过score的值进行排序

zrange 集合名 0 -1:查询集合中所有的值,默认按照score值的升序排列

zrangebyscore 集合名 -inf +inf:按score值升序排列,可以用具体值替换+-inf,例如[-inf,2000]

zrevrangebyscore 集合名 +inf -inf:按照score的值降序排列

zrem 集合名 值:移除该集合中的指定元素 zcard 集合名:获取有序集合中的元素的个数

三、3种特殊数据类型

1、geospatial地理位置

geoadd MM 经度1 纬度1 城市1 经度2 纬度2 城市2:在MM中存储两个城市的位置信息

geopos MM 城市1:取出MM中指定城市的的经度和纬度

geodist MM 城市1 城市2 m/km:计算两个城市之间的距离,单位为m/km

georadius MM 经度 纬度 500km:MM下所有距离该位置半径为500km的范围内的城市

georadiusbymember MM 城市1 1000km:找出MM下距离城市1000km范围内的城市

2、hyperloglog

基数:一个集合中不重复的元素的个数 HyperLogLog则是一种算法,它提供了不精确的去重计数方案。

3、bitmaps

setbit key offset value : 设置 key 的第 offset 位为value (1或0)

标签:MM,List,redis,value,xx,key,集合,基本操作
From: https://www.cnblogs.com/wuchangblog/p/16722757.html

相关文章

  • redis和mysql(区别和联系)
    redis和mysql一般都知道mysql是数据库的,可redis也是数据库,两者区别是mysql:关系型数据库,1⃣️将数据存放在硬盘中,存取速度较慢 2⃣️ 永久存放redis:非关系型数据库(缓存数......
  • Lua脚本在Redis事务中的应用实践
    使用过Redis事务的应该清楚,Redis事务实现是通过打包多条命令,单独的隔离操作,事务中的所有命令都会按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打......
  • redis 基准性能测试与变慢优化
     redis参考目录:生产级Redis高并发分布式锁实战1:高并发分布式锁如何实现 https://www.cnblogs.com/yizhiamumu/p/16556153.html生产级Redis高并发分布式锁实战2:......
  • Centos Redis安装流程
    一安装前准备:   1.安装gcc套装yuminstallcppyuminstallbinutilsyuminstallglibcyuminstallglibc-kernheadersyuminstallglibc-commonyuminst......
  • Redis持久化方式-AOF
    Redis由于在RDB的方式上存在缺陷,会产生时点与时点之间的问题,所以又有AOF的方式持久化数据AOF的原理就是记录下来客户端所有的操作指令,持久化到一个文件中,通过配置Redis的......
  • Job for redis-server.service failed because the control process exited with erro
    报错信息如下:Jobforredis-server.servicefailedbecausethecontrolprocessexitedwitherrorcode. See"systemctlstatusredis-server.service"and"......
  • 基本操作学习
    文档演示——2022/9/2221:21:27一、基本操作语法1.1基本格式<1>设置标题前后均留有空格<2>加粗:加粗示例1(较推荐)加粗示例2<3>斜体:斜体示例1(较推荐)斜体示例......
  • Redis未授权访问漏洞
    Redis未授权访问漏洞1.Redis未授权访问漏洞产生漏洞原因:1:Redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网。......
  • spring boot下使用RedisTemplate操作redis存取对象
     在springboot环境下有个StringRedisTemplate对象,默认已经为我们配置好了,只需要自动注入过来就能用,但是使用它只能在Redis中存放字符串。具体操作如下:@RunWith(Spring......
  • Redis
    Redis持久化机制:怎么保证Redis挂掉之后再重启数据可以进行恢复?很多时候我们需要持久化数据也就是将内存中的数据写入到硬盘里面,大部分原因是为了之后重用数据(比如重启......