redis数据库日记
2019-05-19 本文已影响0人
MrSong
Redis
- key-value存储系统
- 存在在内存中,相应迅速
安装
配置
- 语法
CONFIG GET CONFIG_SETTING_NAME
- 例子
config get loglevel
- 获取所以配置命令
config get *
- 设置
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
- 例子
config set loglevel "notice"
Redis数据类型
-
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
-
字符串
set key value
get key
del key
-
hash
- 设置
HMSET myhash field1 "Hello" field2 "World"
- 取值
hget myhash field1
- 删除
del myhash
- 设置
-
列表
- 在列表testList头部中插入name
lpush testList name
- 取值
lrange testList 0 10
- 删除
del testList
- 在列表testList头部中插入name
-
集合
- 设置
sadd test group
- 取值
smembers test
- 删除
del test
- 设置
-
有序集合
- 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
- 设置
zadd test 0 group
- 取值
zrangebyscore test 0 10000
- 删除
del test
-
设置过期时间
SET key-with-expire-time "hello" EX 10086
Redis 事务
- Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:
- 批量操作在发送 EXEC 命令前被放入队列缓存。
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
- 执行过程
MULTI
-->set name ddd
-->sadd test group
-->exec
Python连接redis
- 安装 pip install redis
# -*- coding:utf-8 -*-
import redis
# 全局数据库实例
redis_db = None
def getRedis_db():
''' 获取Redis数据库实例 '''
global redis_db
if redis_db is None:
redis_db = redis.Redis(host='localhost',port=6379,decode_responses=True)
print("连接Redis数据库成功")
return redis_db