基于内存的键值对存储数据库Redis

| 分类 数据库之redis  python之数据库编程  | 标签 数据库  NoSQL  SQL  mongodb  redis  mac  python  brew  发布者  订阅者 

以下简单展示Redis的用法,做一次感性的认知,其功能强大,远不止本文所说的这些

搭建开发环境

我是在Mac OS环境上做的测试,首先是安装redis

$ brew update
$ brew install redis

启动服务器

$ redis-server

再开启一个终端,启动客户端连接到redis服务

$ redis-cli

python3安装redis驱动

$ pip3 install Redis

在命令行中操作Redis

上面安装配置好redis后,就可以开始在命令行进行测试了(redis-server开启服务,redis-cli连接到服务进行操作)

下面总结redis本身的一些命令

# ping-pong测试
> ping


# 键命令
> set a_key a_value
> get a_key
> del a_key
> get a_key


# 哈希命令
> hmset a_hash test "redis hash"
> hgetall a_hash
> hdel a_hash test
> hdel a_hash "redis hash"


# 列表命令
> lpush a_list "redis"
> lpush a_list "mysql"
> lrange a_list 0 10
> lpop a_list


# 集合命令(集合会自动去重)
> sadd a_set "redis"
> sadd a_set "mysql"
> sadd a_set "mysql"
> smembers a_set
> srem a_set mysql

下面是一个实际运行的效果图(注意图中命令与上面列出的命令并不对应!)

image

Redis发布订阅

发送订阅是一种消息通信模式:发布者pub发送消息,订阅者sub接收消息。发布者在接收者接收消息时发送消息。传送消息的链路称为信道。在redis中,客户端可以订阅任意数量的信道

开启一个新的终端,输入redis-cli连接到redis服务,订阅一个名为”testChannel”的信道

127.0.0.1:6379> subscribe testChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "testChannel"
3) (integer) 1

然后再开启一个终端,连接到redis后,在testChannel信道上发布信息

127.0.0.1:6379> publish testChannel "hello world"
(integer) 1

然后在订阅端就可以看到信息了(当然可以继续发布更多信息)

image

Python操作redis

编写的Python3程序如下

# -*- coding: utf-8 -*-
import redis

r = redis.Redis(host='localhost', port=6379)

# 键值对
r.set('key', 'vaule')
print('r.get(''key'') = ' + str(r.get('key')))
print('r.[''key''] = ' + str(r['key']))

# 哈希

r.hset('a_hash', 'name', 'xumenger')
r.hset('a_hash', 'email', 'xumenger@126.com')
print(r.hgetall('a_hash'))

运行程序的输出如下

image

参考资料




如果本篇文章对您有所帮助,您可以通过微信(左)或支付宝(右)对作者进行打赏!


上一篇     下一篇