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
相关文章
|
18天前
|
存储 NoSQL 应用服务中间件
Redis 学习笔记
本文详细介绍了Redis的基本概念、特性、应用场景,并提供了在Centos下安装Redis5的步骤,以及如何使用Redis客户端和命令进行数据类型操作和管理。
35 2
|
2月前
|
存储 NoSQL Redis
Redis学习笔记
这篇文章是关于Redis的学习笔记,介绍了Redis的基本概念、数据结构、持久化方式以及与其他数据库的比较,并提供了Redis的官网地址和其在数据库领域的应用场景。
|
5月前
|
存储 缓存 NoSQL
redis学习笔记
Redis是一款由C语言编写的内存中的键值对数据库,包含多种数据结构如字符串、散列、列表、集合、有序集合等。它支持复制、LUA脚本、LRU策略、事务和持久化。Redis官网提供详细文档,可用于分布式缓存、防止缓存击穿、分布式锁、消息队列等场景。安装Redis 7.0.15版,需下载、配置环境变量、修改配置文件以设置守护进程、关闭保护模式和密码。Redis基础命令包括键操作如DEL、EXISTS、EXPIRE等,数据类型包括字符串和哈希等,如HSET用于设置哈希表字段值,HGET用于获取字段值。
35 0
|
NoSQL Redis Python
redis学习笔记(九)
redis学习笔记(九)
|
NoSQL Redis
redis学习笔记(五)
redis学习笔记(五)
|
NoSQL Java Redis
redis学习笔记(二)
redis学习笔记(二)
|
NoSQL Java Redis
redis学习笔记(八)
redis学习笔记(八)
|
NoSQL Redis 索引
redis学习笔记(四)
redis学习笔记(四)
|
SQL NoSQL 关系型数据库
redis学习笔记(一)
redis学习笔记(一)
|
缓存 NoSQL Redis
redis学习笔记(十)
redis学习笔记(十)