深入浅出Redis操作简明入门(redis的相关操作)

深入浅出Redis操作简明入门

Redis是目前较为流行的NoSQL数据库,也是最快的内存数据库之一。它具有高性能、可扩展性和灵活性等特点,提供了丰富的数据类型和功能,支持持久化和复制等高级功能。

本文将介绍Redis的相关概念和操作,帮助初学者快速入门Redis。

一、安装Redis

Redis的官网提供了各个操作系统的安装文档,这里以Ubuntu为例:

1.下载并解压Redis源码包:

wget http://download.redis.io/releases/redis-6.0.9.tar.gz

tar xzf redis-6.0.9.tar.gz

cd redis-6.0.9

2.编译Redis:

make

3.启动Redis:

src/redis-server

4.测试Redis:

src/redis-cli ping

返回PONG则表示安装成功。

二、Redis命令行操作

1.设置和获取值:

> set key value # 设置键值对

OK

> get key # 获取键值

“value”

2.设置过期时间:

> set key value ex 10 # 10秒后过期

OK

> get key

“value” # 10秒内获取成功

> sleep 11

> get key

(nil) # 10秒后获取失败

3.删除键值:

> del key

(integer) 1 # 成功删除一个键值

4.计数器:

> set counter 0 # 初始化计数器

OK

> incr counter # 自增1

(integer) 1

> incrby counter 5 # 自增5

(integer) 6

5.哈希表:

> hmset user id 1 username “lancer” age 21 # 设置用户信息

OK

> hgetall user # 获取所有信息

1) “id”

2) “1”

3) “username”

4) “lancer”

5) “age”

6) “21”

6.列表:

> lpush list 1 2 3 # 左侧插入元素

(integer) 3

> rpush list 4 5 6 # 右侧插入元素

(integer) 6

> lrange list 0 -1 # 遍历列表

1) “3”

2) “2”

3) “1”

4) “4”

5) “5”

6) “6”

> lpop list # 左侧弹出元素

“3”

> rpop list # 右侧弹出元素

“6”

7.集合:

> sadd set 1 2 3 # 添加元素

(integer) 3

> sismember set 2 # 判断元素是否存在

(integer) 1

> smembers set # 获取所有元素

1) “1”

2) “2”

3) “3”

三、Redis客户端操作

1.Python Redis客户端

需要安装redis-py库:

pip install redis

示例:

import redis

r = redis.Redis(host=’localhost’, port=6379, db=0)

# 设置和获取值

r.set(‘key’, ‘value’)

value = r.get(‘key’)

print(value)

# 哈希表

r.hmset(‘user’, {‘id’: 1, ‘username’: ‘lancer’, ‘age’: 21})

user = r.hgetall(‘user’)

print(user)

2. Node.js Redis客户端

需要安装redis模块:

npm install redis

示例:

const redis = require(‘redis’);

const client = redis.createClient(6379, ‘localhost’);

// 设置和获取值

client.set(‘key’, ‘value’, (error, result) => {

console.log(result);

});

client.get(‘key’, (error, result) => {

console.log(result);

});

// 列表

client.lpush(‘list’, [1, 2, 3]);

client.rpush(‘list’, [4, 5, 6]);

client.lrange(‘list’, 0, -1, (error, result) => {

console.log(result);

});

四、Redis高级特性

1.发布订阅

Redis的发布订阅是一个非常有用的功能,适用于事件驱动程序,它使得一个消息可以同时被多个客户端接收和处理。

示例:

# 发布端

redis-cli publish channel “hello”

# 订阅端

redis-cli subscribe channel

Reading messages… (press Ctrl-C to quit)

1) “subscribe”

2) “channel”

3) (integer) 1

1) “message”

2) “channel”

3) “hello”

2.事务

Redis的事务是基于命令队列实现的,可以保证一组命令的原子性,即这些命令要么都执行成功,要么都不执行,不会出现部分执行的情况。

示例:

with r.pipeline() as pipe:

while True:

try:

pipe.watch(‘key’)

value = int(pipe.get(‘key’))

value += 1

pipe.multi()

pipe.set(‘key’, value)

pipe.execute()

break

except redis.WatchError:

continue

本文介绍了Redis的相关概念和操作,帮助读者快速入门Redis。对于Redis的更深入学习,可以参考Redis官网文档和相关书籍。


数据运维技术 » 深入浅出Redis操作简明入门(redis的相关操作)