redis学习笔记(一 )

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 初学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>
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8月前
|
缓存 NoSQL Redis
Redis雪崩问题
Redis雪崩问题
72 1
|
19天前
|
NoSQL Redis
Redis事务长什么样?一文带你全面了解
Redis事务是一组命令的有序队列,通过MULTI、EXEC、WATCH和DISCARD等命令实现原子性操作。事务中的命令在EXEC执行前不会实际运行,而是先进入队列,确保所有命令要么全部成功,要么全部失败。此外,Redis还支持Lua脚本实现类似事务的操作,通常更简单高效。事务适用于购物车结算、秒杀活动、排行榜更新等需要保证数据一致性的场景。
39 0
|
3月前
|
NoSQL 安全 Redis
Redis 安全
10月更文挑战第20天
37 4
|
6月前
|
缓存 负载均衡 NoSQL
这样学Redis,才能技高一筹
【7月更文挑战第18天】
61 3
|
存储 NoSQL Java
Redis3
Redis3
63 0
|
8月前
|
存储 人工智能 NoSQL
Redis的未来
【翻译】来自redis官网对未来的规划
262 0
|
8月前
|
存储 消息中间件 缓存
redis
Redis是一个开源的内存数据库,它可以用作缓存、消息队列和持久化存储等多种用途。
84 0
|
存储 JSON NoSQL
redis中的value
需要注意的是,redis中的value是以二进制形式存储的,因此在存储和读取数据时需要进行序列化和反序列化操作。常用的序列化方式包括JSON、Protobuf、Msgpack等。示例代码如下
78 0
|
消息中间件 缓存 NoSQL
Redis总结
Redis总结
44 0
|
存储 NoSQL Redis
Redis介绍
Redis介绍
89 0