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

redis基本操作

时间:2022-10-02 12:58:26浏览次数:57  
标签:lang 删除 元素 redis value key 集合 基本操作

什么是redis

redis是一个高性能的key-value存储的NoSQL数据存储系统。
为什么是nosql——大数据下需要更好的性能

补充:
1、一共有15个数据库,select 1; 默认是0号库
2、单线程多路IO复用
3、与memchche的区别:支持多数据类型,支持持久化,单线程多路IO复用

基本命令

【数据库操作】

1、选择数据库【0-15】
selectc 16
2、查看key的数量
bdsize
3、云服务器打开客户端
redis-cli
4、查看是否含有key
keys *

5、清空当前库,清空所有库
flushdb
flushall


【常规操作】
1、添加key
set key value

2、查看key是否存在
exists key

3、删除key
del key
unlink key

4、设置过期时间为10s「-1表示用不过期,-2表示已过期」
expire key 10
查看还有多少秒过期
ttl key

5、获取key
get key

 

5种数据类型

字符串

【String:底层的数据结构是一个简单动态字符串,实现有一点类似Java中的ArrayList】
1、追加 「如果是3,表示添加成功;如果是6,表示追加成功」
append key value

2、获得该key的value长度
strlen key

3、只有key不存在时,才设置key的值「1表示设置成功,0表示失败(已经存在该key)」
setnx key 123

4、加减1
incr key
decr key

5、加减10
incrby key 10
decrby key 10

6、设置、得到多个
mset
mget
msetnx

7、获取范围的值「包含前后的值,如0 3 ,则表示0 1 2 3位置的值」
getrange <key> <起始位置> <结束位置>

8、设置某位置的值
setrange <key> <起始位置> <结束位置>

9、添加key,直接设置过期时间
setex <key> <过期时间> <value>

10、查看旧值的同时,更新值,以新换旧
getset <key> <value>

 

列表

【list】「底层原理是双向链表」
1、添加「lpush是逆序,rpush是添加时的顺序」
lpush <key> v2 v3 v4
rpush <key> v2 v3 v4

2、获取所有值
lrange <key> 0 -1

3、获取最左边|最右边的值 「会删除该元素」「值在key在,值光key无」
lpop <key>
rpop <key>

4、从key1右边吐出一个值,插到key2列表的左边
rpoplpush <key1> <key2>

5、获取列表的长度
llen <key>

6、指定位置插入「会在找到的第一个元素后面插入」
linsert <key> before <value> <newValue>
linsert <key> after <value> <newValue>

7、删除指定个数的某元素 「从走往右,删除两个v2元素」
lrem <key> 2 v2

8、替换,将列表key下标为index的值替换成value
lset <key> <index> <value>

 

集合

【Set】「底层结构是value=null的哈希表,添加删除的复杂度都是O(-1)」
1、添加
sadd <key> <value1> <value2> <value3>

2、取值
smembers <key>

3、判断集合中是否含有 <value>,有1,无0
sismember <key> <value>

4、集合大小
scard <key>

5、删除集合中某个元素
srem <key> <value1> <value2> …

6、随机从该集合中吐出一个值,会删除
spop <key>

7、随机从该集合中取出n个值,不会删除
srandmember <key> <n>

8、把value从set1中移到set2中
smove <key1> <key2> <value>

9、返回两个集合的交集元素
sinter <key1> <key2>

10、返回两个集合的并集元素
sunion <key1> <key2>

11、返回两个集合的差集元素(key1中有的元素,key2中没有的)
sdiff <key1> <key2>

 

哈希 

 

有序集合

【hash】【底层结构是压缩列表+哈希表,适合储存对象】

1、添加
zadd <key> <score> <value>
zadd lang 200 java 100 python

2、获取全部
zrange <key> 0 -1
zrange lang 0 -1
zrange lang 0 -1 withscores

3、获取区间中的元素
zrangebyscore <key> 100 200
逆序区间
zrevrangebyscore lang 200 100

4、增加score
zincrby <key> <increment> <value>
zincrby lang 100 java

5、区间内的元素个数
zcount <key> <min> <max>
zcount lang 1 500

6、得到排名(从0开始)
zrank <key> <value>
zrank lang java

7、删除该集合下,指定值的元素
zrem <key> <value>

  

标签:lang,删除,元素,redis,value,key,集合,基本操作
From: https://www.cnblogs.com/cjin-01/p/16748569.html

相关文章

  • 【博学谷学习记录】超强总结,用心分享|Java基础分享-Redis基础简介
    1.1Redis简介1.2Redis资料1.2.1初步教程1.2.2其他教程2.1做为数据库与之比较2.2做为高速缓存与之比较2.3做为消息队列与之比较一、Redis基础知识1.1Redis......
  • 使用 docker-compose 安装 es、kibana、mysql、redis、kafka
    由于经常的安装虚拟机,每次都要重装环境比较麻烦。这次写了一个docker-compose文件,一次性搞定安装问题。#Useroot/exampleasuser/passwordcredentialsversion:"3......
  • Springboot整合Redis作为Mybatis的二级缓存
    参考原文:https://juejin.cn/post/6971740313501368356一级缓存是:sqlSession,sql建立连接到关闭连接的数据缓存二级缓存是:全局的缓存准备配置启动类添加注解:@EnableC......
  • redis的list类型基本操作
    1、首先连上你的redis以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示2、list相关操作说明:redis的列表是简单的字符串列表,按照插入顺序排序。它......
  • Oracle 19C 安装及基本操作
    Oracle19c安装包地址:https://pan.baidu.com/s/1CnbkJMLOvPN7rZNUEtttdg 提取码:p00sRedHat7.4安装包地址:https://pan.baidu.com/s/1gNg4B4L2bplkQj46ksyH7A 提取码......
  • redis.exceptions.AuthenticationError: Authentication required.报错解决办法
    报错...File"D:\UserData\PycharmProject\pythonProject\私有项目\gsCoWeChat\venv\lib\site-packages\redis\client.py",line1239,in<lambda>lambda:self.......
  • MYSQL学习笔记之基本操作
    基本操作(1)登录MYSLQ步骤如下:①(win+R)--->cmd-->命令窗口--->输入"mysql-uroot-P端口号-p"②登录成功效果WelcometotheMySQLmonitor.Commandsendwith;or......
  • redis
    Redis简介说明Redis(RemoteDictionaryServer远程字典服务)是一个遵循BSDMIT开源协议的高性能的NoSQL.Redis基于ANSIC语言语言)编写的key-value数据库,是意大利的Sa......
  • win10安装redis
    redis安装新手教程win10​ REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统。​ Redis是一个开源的使用ANSIC语言编写、遵守BSD......
  • 【Redis】五大常见的数据类型之 Hash
    前言我们都知道Redis提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。今天我们就来详细的聊聊Redis这五大常见的数据类型之一​......