redis 五大数据结构__常用命令
linux 下下载redis数据库
apt install redis
如果提示权限不够的话, 直接提权:
sudo apt install redis-server
linux启用、停止服务
service redis start
service redis stop
service redis restart
xshell进入linux
cd .. # 返回根目录
ls # 查看文件
cd etc/
那么到这里,就该进入正题啦。
首先记录下连接、退出、切换数据库的命令
连接:redis:redis-cli
退出:exit
切换数据库:select n
数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库(通过select n切换)
一直说redis有五大数据结构, 都有什么呢。
redis是key-value的数据结构,每条数据都是⼀个键值对
键的类型是字符串
注意:键不能重复
值的类型分为五种:
String ------> 字符串
Hash ------> 哈希
List ------> 列表
set ------> 集合
Zset ------> 有序集合
现在我们就开始详细的看下每个数据类型常用的命令有哪些;
string类型
string是redis最基本的类型,一个key对应一个value。
设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
设置数据:set key value
设置多组数据:mset key value [key value..]
为多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败;
返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil
查看数据:get key
将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度
追加数据:append key value
返回key的剩余生存时间, -1 表示永久存在, -2表示不存在
ttl key
设置 key的同时,设置过期时间(单位:秒) key 过期后将不再可用,会被系统自动删除。
set key value ex seconds
set age 18 ex 20
或 setex key seconds value 例: ( setex sex 20 '男' )
移除指定key的生存时间,成功返回1,若key不存在或不存在生存时间时返回0;
persist key
这里追加一个命令:
进入数据库:user db_name;
如果不知道数据库是否存在,记得加if exists
全局key操作
对redis的五个数据类型都适用的命令
rename key newkey 改名
当key和newkey相同或者key不存在时返回一个错误,当newkey已存在时则会覆盖;
keys * # 查看所有的key del key # 删除 返回成功的个数 exists key # 查看key是否存在 返回存在个个数 type key # 查看key类型 expire key seconds #设置过期时间 persist key #移除过期时间
list类型
List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据
在插入数据时,按照插入顺序排序,在列表的头部或者尾部添加元素,
如果该键并不存在,Redis将为该键创建一个。
添加数据:rpush key value [value…] 在尾部添加数据
lpush key value [value…] 在头部添加数据
返回列表中元素的值。index从0开始,当index超出索引时返回null
lindex key index
#查看第2个
查看索引范围内元素的值
查看数据:lrange key start stop
#查看所有值
返回列表的长度
llen key
修改数据:lset key index value
指定索引号进行修改
删除数据:lpop key 删除左边第一个
rpop key 删除右边第一个
Hash类型
是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表
user { name:juhao, age:18 }
user -> key(键) name,age ->field(域) juhao,18 ->value(值)
添加数据:
将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖;
hset key field value
查看域值:
hget key field
批量添加:
hmset key field value field2 value2
查看所有的value:
hvals key
查看所有的field:
hkeys key
# 获取多个 field
hmget key field[field...]
# 获取全部`field` 和 `value
hgetall key
# 查看有几个键值对
hlen key
# 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0;
hexists key field
# 删除
hdel key field
Set类型
元素为string类型
无序集合
元素具有唯一性,不重复
sadd key member [member...] 增加元素
将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素,
# 返回集合key中元素的个数
scard key
# 获取集合中所有元素
smembers key
# 判断集合存在某个值
判断member在key中是否已存在, 返回0或1
sismember key member
# 删除
移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数
srem key member [member...]
# 随机删除
spop key
移除并返回集合中的一个随机元素,当key不存在时返回NULL
zset类型
类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。
zset的成员是唯一的,但分数(score)却可以重复。
# 添加/修改
zadd key score member[ [score member] ..]
设置, 存在就更新
# 查看
zscore key member
查看score值
# 按索引返回key的成员, withscores表示显示score
zrange key start stop[withscores]
# 显示全部
# 返回集合中 score 在给定区间的元素
zrangebyscore key min max
# 删除
zrem key member [member...]
移除有序集合中的一个或多个元素,若member不存在则忽略;
# 删除集合中索引在给定区间的元素
zremrangebyrank min max
# 删除集合中 score 在给定区间的元素
zremrangebyscore min max
写到这里,redis整理完毕,命令不要死记硬背,用多了自然就记住了。
就像大家写sql ,新建 create table ;插入insert into; 查询 select * from 表 一样。
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。
redis 五大数据结构__常用命令的更多相关文章
- Redis系列(二):Redis的5种数据结构及其常用命令
上一篇博客,我们讲解了什么是Redis以及在Windows和Linux环境下安装Redis的方法, 没看过的同学可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. 本篇博客我们来 ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
- Redis中的数据结构与常用命令
开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis ...
- redis数据结构和常用命令
redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...
- Redis学习笔记(4)——Redis五大数据结构介绍以及应用场景
出处:https://www.jianshu.com/p/f09480c05e42 Redis是典型的Key-Value类型数据库,Key为字符类型,Value的类型常用的为五种类型:String.H ...
- Redis五大数据结构
1.Redis介绍 Redis是REmote DIctionary Server的缩写,作者定位于一个内存KV存储数据库(In-memory key-value Store),让Redis自豪的并不是 ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
随机推荐
- Python - Python2与Python3的区别、转换与兼容
区别 Python2.x与Python3.x版本区别:http://www.runoob.com/python/python-2x-3x.html 示例解读Python2和Python3之间的主要差异 ...
- 【Spark篇】---Spark中Shuffle机制,SparkShuffle和SortShuffle
一.前述 Spark中Shuffle的机制可以分为HashShuffle,SortShuffle. SparkShuffle概念 reduceByKey会将上一个RDD中的每一个key对应的所有val ...
- BBS论坛(二十二)
22.1.七牛js上传轮播图图片 (1)common/zlqiniu.js 'use strict'; var zlqiniu = { 'setup': function (args) { var d ...
- JVM基础系列第5讲:字节码文件结构
温馨提示:此篇文章长达两万字,图片50多张,内容非常多,建议收藏后再看. 前面我们说到 Java 虚拟机使用字节码实现了跨平台的愿景,无论什么系统,我们都可以使用 Java 虚拟机解释执行字节码文件. ...
- Python高级特性(一)
一.切片 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取出前三个元素 , 笨方法就是通过下标一个一个获取 [L[0], L[1], L[2]]Pyt ...
- Lucene 07 - 对Lucene的索引库进行增删改查
目录 1 添加索引 2 删除索引 2.1 根据Term删除索引 2.2 删除全部索引(慎用) 3 更新索引 数据保存在关系型数据库中, 需要实现增.删.改.查操作; 索引保存在索引库中, 也需要实现增 ...
- MySQL 个人学习笔记
最早之前学习了Mysql,不知道是多长时间了 O(∩_∩)O,今天突然发现之前学习过程中的这个笔记,于是,就分享给大家,希望,能帮助到有需要的朋友,有不足的地方欢迎大家多多交流 b( ̄▽ ̄)d 1. ...
- 设计模式总结篇系列:装饰器模式(Decorator)
在面向对象设计过程中,经常会遇到需要对现有的类的功能进行扩展,通常我们可以采用继承的方式.例如老罗最近在做手机,一开始需要定义手机所应具有的功能: interface Phone{ public vo ...
- Django学习笔记(9)—— 开发用户注册与登录系统
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...
- Shell编程(week4_day1)--技术流ken
本节内容 1.shell简介 2. shell分类 3. 查看shell 4. 第一个shell脚本 5. shell编程常用命令 5.1 grep 5.2 cut 5.3 sort ...