Redis入门及常用命令学习

database

redis简介">Redis简介

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

下载安装Redis5.0.X

以Ubuntu20.4为例

运行安装命令

sudo apt-get install redis-server

redis配置文件">Redis配置文件

以Ubuntu20.4为例

sudo vim /etc/redis/redis.conf

Redis操作相关命令

部分命令可直接通过键盘Tab键补全

# 卸载命令

sudo apt-get purge --auto-remove redis-server

# 关闭命令

sudo service redis-server stop

# 开启命令

sudo service redis-server start

# 重启命令

sudo service redis-server restart

# Redis命令行客户端

redis-cli

# Redis服务器

redis-server

# Redis性能测试工具

redis-benchmark

# AOF文件修复工具

redis-check-aof

# RDB文件检查工具

redis-check-rdb

Redis五种数据类型

类型

描述

string

字符串类型

hash

散列类型

list

列表类型

set

集合类型

zset

有序集合类型

Redis通用命令

  1. 获取符合规则的键名列表

keys [pattern] # pattern支持glob风格通配符格式

符号

含义

?

匹配一个字符

*

匹配任意个字符

[]

匹配范围内字符,如a[b-d]可以匹配“ab”、“ac”、“ad”

匹配需要转义字符

  1. 判断键是否存在

exists key # 如果键存在则返回整型1,反之返回0

  1. 删除键

del key [key ...] # 支持批量删除,返回值为删除键的个数

  1. 获取键值的数据类型

type key

  1. 获取键的总数

dbsize

  1. 设置键过期时间

expire key seconds # key在seconds秒后过期

  1. 查询当前键的剩余时间

ttl key # 查询key在多少秒后过期

# 如果返回值为-1,则代表key存在且没有设置过期时间

# 如果返回值为-2,则代表key已不存在

  1. 删除键的过期时间

persist key

  1. 清空所有数据库数据

flushall

  1. 清空当前数据库数据

flushdb

  1. 切换到指定数据库

select index # 默认使用0号数据库

Redis数据类型入门

String(字符串类型)常用命令

string可以存储任何形式的字符串,包括二进制数据。

  1. 获取键对应的值

get key # 当键不存在时会返回空(nil)

  1. 设置键值对

set key value

setnx key value # 键不存在时才设置

set key value xx # 键存在时才设置(属更新操作)

  1. 递增/递减数字

incr key # 使当前键自增1,并返回自增后的值

decr key # 使当前键自减1,并返回自减后的值

incrby key num # 使当前键自增num

decrby key num # 使当前键自减num

  1. 获取字符串长度

strlen key # 返回键的长度,不存在则返回0

  1. 向尾部追加值

append key value # 如果键不存在则设置新的键值,返回值为总长度

  1. 批量获取/设置多个键值

mget key [key ...] # 获取

mset key1 value1 key2 value2 ... # 新增

  1. 获取字符串指定下标的值

getrange key start end

  1. 设置字符串指定下标的值

setrange key index value

Hash(散列类型)常用命令

hash 是一个 string 类型的 field(字段)和 value(值)的映射表,适合用于存储对象。

  1. 获取散列属性对应的值

# 获取单个属性对应的值

hget key field

# 获取多个属性对应的值

hmget key field [field ...]

# 获取散列所有属性与值

hgetall key

# 获取散列所以属性对应的值

hvals key

# 获取散列键对应的所有属性

hkeys key

  1. 设置散列

# 设置单个散列

hset key field value

# 设置散列属性,如果属性已存在,则设置失败

hsetnx key field value

# 设置散列多个属性值

hmset key field1 value1 field2 value2 ...

  1. 删除散列属性

hdel key field

  1. 判断散列的键是否存在某一属性

hexists key value

  1. 获取散列属性数量

hlen key

List(列表类型)常用命令

  1. 设置列表

# 从列表右侧插入值

rpush key value1 value2 ...

# 从列表左侧插入值

lpush key value1 value2 ...

# 在列表指定值的前/后插入新值

linsert key before|after value newValue

  1. 删除列表指定值

# 从列表左侧删除一个元素

lpop key

# 从列表右侧删除一个元素

rpop key

# 根据count值删除所有相同值的元素

# (1)count>0,从左到右,删除最多count个value相等的项

# (2)count<0,从右到左,删除最多Math.abs(count)个value相等的项

# (3)count=0,删除所有value相等的项

lrem key count value

# 根据索引范围修改列表

ltrim key start end

  1. 获取列表值

# 获取列表指定索引范围内所有元素

# start与end为闭区间

lrange key start end

# 获取列表指定索引的元素

lindex key index

# 获取列表长度

llen key

  1. 修改列表中的值

# 设置列表指定索引对应的值为newValue

lset key index newValue

Set(集合类型)常用命令

  1. 设置集合

# 向集合键中添加元素,如果元素存在,则添加失败

sadd key element

  1. 删除集合中指定元素

# 删除集合中指定的元素

srem key element

# 从集合中随机删除count个元素

# 移除后会返回移除的元素

spop key [count]

  1. 获取集合指定值

# 获取集合的数量

scard key

# 判断元素是否存在

sismember key element

# 从集合中随机获取count个元素

srandmember key [count]

  1. 集合间的交差并操作

# 获取集合间的差集

sdiff key1 key2 ...

# 获取集合间的交集

sinter key1 key2 ...

# 获取集合间的并集

sunion key1 key2 ...

Zset(有序集合类型)常用命令

  1. 设置有序集合

zadd key score element

  1. 删除有序集合中指定元素

zrem key element

# 删除指定排名内的升序元素

zremrangebyrank key start end

# 删除指定分数内的升序元素

zremrangebyscore key minScore maxScore

  1. 获取有序集合指定值

# 获取元素的分数

zscore key element

# 获取元素总个数

zcard key

# 按照升序排序获取指定索引范围内的元素

# WITHSCORES属性控制是否输出分数值

zrange key start end [WITHSCORES]

# 按照升序排序获取指定分数范围内的元素

zrangebyscore key minScore maxScore [WITHSCORES]

# 获取有序集合内在指定分数范围内的个数

zcount key minScore maxScore

以上是 Redis入门及常用命令学习 的全部内容, 来源链接: utcz.com/z/536177.html

回到顶部