栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Docker 安装 Redis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 安装 Redis

目录

前言

一、Redis 是什么?

二、安装 Redis

三、基本数据类型操作

1. 字符串类型

2. 哈希类型

3. 列表类型

4. 集合类型

5. 有序集合类型

总结



前言

        Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

一、Redis 是什么?

        Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。主要支持一下数据类型:

  • 字符串类型
  • 哈希类型
  • 列表类型
  • 集合类型
  • 有序集合类型

二、安装 Redis

        首先需要安装好 Docker,然后在 Docker 中 安装 Redis。

# 拉取镜像
docker pull redis:latest

# 启动镜像
docker run -itd --name redis -p 6379:6379 redis

# 执行容器
docker exec -it redis /bin/bash

# 命令行界面
redis-cli

三、基本数据类型操作

1. 字符串类型
# 赋值
set str 8485

# 取值
get str

# 递增数字
incr num

# 增加指定的整数
incrby num 10

# 递减数字
decr num

# 减少指定的整数
decrby num 5

# 增加指定浮点数
incrbyfloat num 1.2

# 向尾部追加值 - 返回追加后字符串的总长度
set aaa 3847
append aaa -9858

# 获取字符串长度
strlen aaa

# 同时设置/获得国歌键值
mset cc 343 dd 34432
mget cc dd

# 位操作 - 可以节约空间

2. 哈希类型
# 字段赋值 HSET key field value
hset car name bmw
hset car price 50

# 字段取值 HSET key field
hget car name

# 批量赋值 HMSET key field value [field value ...]
hmset car price 60 name bc

# 批量取值 HMGET key field [field ...]
hmget car price name

# 取值 HGETALL key
hgetall car

# 判断字符是否存在 HEXISTS key field
hexists car name

# 当字段不存在时赋值 HSETNX key field value
hsetnx car name bmw

# 增加数字 HINCRBY key field increment
hincrby car count 20

# 删除字段 HDEL key field [field ...]
hdel car count

# 只获取字段名或字段值 HKEYS key / HVALS key
hkeys car
hvals car

# 获得字段数量 HLEN key
hlen car

3. 列表类型
# 向列表两端增加元素 LPUSH key value [value ...] / RPUSH key value [value ...]
lpush nums 2
rpush nums 3
lpush nums 3 4 6

# 从列表两端弹出元素 LPOP key / RPOP key
lpop nums
rpop nums

# 获取列表中元素的个数 LLEN key
llen nums

# 获取列表片段 LRANGE key start end
lrange nums 0 -1

# 删除列表中指定的值 LREM key count value
# LREM 会删除列表中前 count 个值为 value 的元素
# count > 0 从左边开始删除
# count < 0 从右边开始删除
# count = 0 全部删除
lrem nums 0 3

# 获得/设置指定索引的元素值,即当作数组使用 - LINDEX key index / LSET key index value
lrange nums 0 -1
lset nums 2 999

# 只保留列表指定片段 LTRIM key start end
# LTRIM 和 LPUSH 一起使用可以限制列表中元素的数量
ltrim nums 0 3

# 向列表中插入元素 - LINSERT key BEFORE|ALTER pivot value
# LINSERT 先从左到右查找 pivot 然后根据 BEFORE|ALTER 来决定 value 插入到 pivot 的前后
linsert nums before 999 100

# 将元素从一个列表转到另一个列表 - RPOPLPUSH source destination
# 当 source 和 destination 相同时,不断从队尾移到队首
rpoplpush nums nums1

4. 集合类型
# 增加元素 SADD key member [member ...]
sadd letter a b c

# 删除元素 SREM key member [member ...]
srem letter b d

# 获得集合中的所有元素 SMEMBERS key
smembers letter

# 判断元素是否在集合中 SISMEMBER key member 
sismember letter d

# 差集 SDIFF key [key ...]
sdiff setA setB

# 交集 SINTER key [key ...]
sinter setA setB

# 并集 SUNIOn key [key ...]
sunion setA setB

# 获得集合中元素个数
scard letter

# 进行集合运算并将结果存储
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIOnSTORE destination key [key ...]

# 随机获得集合中的元素 SRANDMEMBER key [count]
srandmember letter 3

# 从集合中弹出一个元素 SPOP key [count]
spop letter 1

5. 有序集合类型
# 增加元素 ZADD key score member [score member ...]
zadd scores 89 Tom 23 Peter 100 David +inf Lee

# 获得元素的分数 ZSCORE key member
zscore scores Lee

# 获得排名在某个范围的元素列表 ZRANGE key start stop [WITHSCORES] / ZREVRANGE key start stop [WITHSCORES]
zrange scores 0 2 withscores

# 获得指定分数范围的元素 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
zrangebyscore scores 20 90 withscores limit 0 1

# 增加某个元素的分数 ZINCRBY key increment member
zincrby scores 20 Tom

# 获得集合中元素的数量 ZCARD key
zcard scores

# 获得指定分数范围内的元素个数 ZCOUNT key min max
zcount scores 0 100

# 删除一个或多个元素 ZREM key member [member ...]
zrem scores Tom

# 按照排名范围删除元素 ZREMRANGERANK key start stop
zremrangebyrank scores 0 1

# 按照分数范围删除元素 ZREMRANGEBYSCORE key min max
zremrangebyscore scores 0 100

# 获得元素的排名 ZRANK key member / ZREVRANK key member
zrank scores Tom
zrevrank scores Tom

# 计算有序集合的交集 
# ZINTERSCORE destination numkeys key [keys ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]



总结

        Redis 数据库中的所有数据都存储在内存中,由于内存的读写速度远快于硬盘,因此 Redis 在性能上对比其他的基于硬盘存储的数据库有非常明显的优势。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1036774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号