redis学习笔记(一 )

简介: 初学redis,本节关于redis的环境配置等一些基础命令

一、redis的环境配置

1.docker 下载redis

// 查找可下载的redis版本
docker search redis
// 拉取redis镜像
docker pull redis
// 启动redis 端口6378
docker run -p 6378:6378 -v /root/dockerclass/redis/data:/data  -v /root/dockerclass/redis/conf/redis.conf:/usr/loedis.conf -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
// 进入redis容器
docker exec -it [容器id] redis-cli

2.服务器端常用命令

> 127.0.0.1:6379> ping
PONG
> 127.0.0.1:6379> echo hello
"hello"
> 127.0.0.1:6379> dbsize
(integer) 0
> 127.0.0.1:6379> select 1
OK
> 127.0.0.1:6379[1]> flushdb
OK
> 127.0.0.1:6379[1]> flushall
OK
> 127.0.0.1:6379[1]> info
# Server
redis_version:6.2.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:1527eab61b27d3bf
redis_mode:standalone
> 127.0.0.1:6379[1]> quit
[root@dev workspace]# 

3.redis支持的数据类型

redis存储的数据类型是一个key对应一个或多个value。value值分为五种Strings、Lists、Sets、Sorted sets、Hash。
string类型是二进制安全的。意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。

// key不存在就赋值,存在就不操作
> 127.0.0.1:6379> setnx acca hello
(integer) 1
127.0.0.1:6379> setnx acca hi
(integer) 0
127.0.0.1:6379> get acca
"hello"
// 返回key值的长度
> 127.0.0.1:6379> strlen acca
(integer) 5
// 字符串替换
> 127.0.0.1:6379> setrange acca 0 2
(integer) 5
// 获取指定位置字符串
> 127.0.0.1:6379> getrange acca 0 5
"2ello"
// 同时设置多个key value
> 127.0.0.1:6379> mset acca1 hellow1 acca2 hellow2 acca3 hellow3
OK

// 同时获取多个key的值
> 127.0.0.1:6379> mget acca1 acca2 acca3
1) "hellow1"
2) "hellow2"
3) "hellow3"
// key不存在同时设置多个key value,否则不设置
> 127.0.0.1:6379> msetnx acca3 hellow4 acca4 hellow4 
(integer) 0

// 对key的值做加加操作,并返回新的值。注意incr一个不是int的value会返回错误,incr一个不存在的key,则设置key为1
> 127.0.0.1:6379> set age 20
OK
> 127.0.0.1:6379> incr age
21
> 127.0.0.1:6379> get age
"21"
> 127.0.0.1:6379>
// 同incr类似,加指定值 ,key不存在时候会设置key,并认为原来的value是 0
> 127.0.0.1:6379> get age
"21"
> 127.0.0.1:6379> incrby age 5
(integer) 26
> 127.0.0.1:6379> get name
"HongWan@gmail.com"
> 127.0.0.1:6379> get age
"26"
// 对key的值做的是减减操作,decr一个不存在key,则设置key为-1
> 127.0.0.1:6379> get age
"26"
> 127.0.0.1:6379> decr age
(integer) 25
> 127.0.0.1:6379> get age
"25"

// 同decr,减指定值。
> 127.0.0.1:6379> get age
"25"
> 127.0.0.1:6379> decrby age 5
(integer) 20
> 127.0.0.1:6379> get age
"20"
// decrby完全是为了可读性,我们完全可以通过incrby一个负值来实现同样效果,反之一样。
> 127.0.0.1:6379> get age
"20"
> 127.0.0.1:6379> incrby age -5
(integer) 15
> 127.0.0.1:6379> get age
"15"

// 给指定key的字符串值追加value,返回新字符串值的长度。
// 例如我们向name的值追加一个@126.com字符串,那么可以这样做:
> 127.0.0.1:6379> append name @126.com
(integer) 15
> 127.0.0.1:6379> get name
"HongWan@126.com"
> 127.0.0.1:6379>

// 取指定key的value值的长度。
> 127.0.0.1:6379> get name
"HongWan_new"
> 127.0.0.1:6379> strlen name
(integer) 11
> 127.0.0.1:6379> get age
"15"
> 127.0.0.1:6379> strlen age
(integer) 2
> 127.0.0.1:6379>
相关文章
|
人工智能 自然语言处理 语音技术
《ModelScope:模型即服务的创新与未来》
【10月更文挑战第2天】** 本文深入探讨了 ModelScope 所代表的模型即服务(MaaS)模式的发展背景、核心特点、技术优势、应用场景以及对各个领域带来的深远影响。通过对其架构、功能和实际案例的分析,展现了 ModelScope 在推动人工智能发展、促进产业升级和创新方面的巨大潜力,同时也对其未来发展趋势进行了展望。
1054 1
|
1天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
985 151
|
2天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1686 8
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
630 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
602 15