Redis
概述
用途:
- 数据库
- 缓存
- 消息中间件
数据类型:
- 字符串 strings
- 散列 hashes
- 列表 lists
- 集合 sets
- 有序集合 sorted sets
redis默认端口为6379
安装与配置
# 安装
sudo apt-get install redis-server
# 启动
redis-server
# 连接
redis-cli
redis-cli -h 127.0.0.1
redis-cli -h 127.0.0.1 -p 6379
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf
# redis 交互命令下利用 CONFIG GET 配置名 命令来查看配置
> config get loglevel
1) "loglevel"
2) "notice"
> config get *
# 利用CONFIG SET 配置名 配置值 命令来更改配置
config set loglevel "notice"
配置参数说明
操作
String
- set 设置值
- get 获取值
- mset 设置多个键值对
- get 获取多个键值对
- append 添加字符串
- del 删除
- incr/decr 增加/减少1
选项
- EX 5 暂存5秒
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> set a 2
OK
127.0.0.1:6379> get a
"2"
127.0.0.1:6379> append a 3
(integer) 2
127.0.0.1:6379> get a
"23"
127.0.0.1:6379> mset b 2 c 3
OK
127.0.0.1:6379> get b
"2"
127.0.0.1:6379> get c
"3"
127.0.0.1:6379> mget b c
1) "2"
2) "3"
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> del a
(integer) 0
127.0.0.1:6379> get a
(nil)
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> incr num
(integer) 11
127.0.0.1:6379> get num
"11"
127.0.0.1:6379> decr num
(integer) 10
127.0.0.1:6379> get num
"10"
127.0.0.1:6379> set n 1 EX 3
OK
127.0.0.1:6379> get n
"1"
127.0.0.1:6379> get n
(nil)
List
- lpush/rpush key value value 从起始/结尾位置插入数据
- lrange key start stop 获取指定长度的内容
- ltrim key start stop 将一个列表进行裁剪
- lpop key 移除并获取列表第一个元素
- rpop key 移除并获取列表最后一个元素
Set
- sadd/srem 添加/删除元素
- sismember 判断是否为set的一个元素
- smembers 返回该集合的所有成员
- sdiff 返回一个集合与其他集合的差异
- sinter 返回几个集合的交集
- sunion 返回几个集合的并集
Hash
- hset/hget 设置/获取散列值
- hmset/hmget 设置/获取多对散列值
- hsetnx 如果散列已经存在,则不设置
- hkeys/hvals 返回所有keys/values
- hlen 返回三列包含域的数量
- hdel 删除散列指定的域
- hexists 判断是否存在
Python操作redis
redispy的安装
pip install redis
使用
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.set('a', 1)
print(r.get('a'))
d = {'b':2, 'c':3}
r.mset(d)
print(r.mget(['b', 'c']))
r.lpush('l', *('a', 'b', 'c'))
print(r.lrange('l', 0, -1))
r.sadd('s', *('a', 'b', 'a'))
print(r.smembers('s'))
r.hmset('dic', d)
print(r.hmget('dic', d.keys()))
print(r.hkeys('dic'))
print(r.hvals('dic'))