1.简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
接触了很多数据库,都会吹嘘自己的速度,亦真亦假,用用就知道了。
2.安装
这里是Linux Centos 下的安装情况
下载地址:http://redis.io/download,下载最新稳定版本。
我给出这个地址,只是想看一下最新稳定版本是啥。
我现在查看是5.0.7版本
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar xzf redis-5.0.7.tar.gz
cd redis-5.0.7
make
make完后 redis-5.0.7目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
下面启动redis服务.
cd src
./redis-server
注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
cd src
./redis-server ../redis.conf
redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:
cd src
./redis-cli
3.使用Python连接Redis
首先设置密码:
首先找到redis.conf文件;然后修改里面的requirepass,将注释去掉,并将后面对应的字段设置成自己想要的密码,保存即可。
这边就写个简单使用了:
#coding:utf-8
import redis
# 普通连接
conn = redis.Redis(host="127.0.0.1", port=6668,password="123456")
conn.set("x1","hello",ex=5) # ex代表seconds,px代表ms
val = conn.get("x1")
print(val)
端口记得改成自己的,密码改成自己的 。
4.Python操作Redis
这里,我只写了些我需要使用的:
import redis
r = redis.Redis(host='127.0.0.1',port=6668,password="123456",db=6 ,decode_responses=True)
#lpush(key , value):将一个或多个值 value 插入到列表 key 的表头,如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头
r.lpush("0",1,2,3,4)
r.lpush("2",5,6,7,8)
#lrange(key , start , stop):返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定
print(r.lrange("0" , 0 , -1))
print(r.lrange("2" , 0 , -1))
#rpush(key , value)将一个或多个值 value 插入到列表 key 的表尾(最右边)。如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾
r.rpush("3",1)
print(r.lrange("3" , 0 , -1)) #打印列表"2"的全部内容
r.rpush("3",1,2,3,4)
print(r.lrange("3" , 0 , -1))
#lpop(key)移除并返回列表 key 的头元素。
r.lpop("3")
print(r.lrange("3" , 0 , -1))
#rpop(key)移除并返回列表 key 的尾元素。
r.rpop("1")
print(r.lrange("1" , 0 , -1))
#lindex(key,index):通过索引获取列表中的元素。也可以使用负数下标,以 -1 表示列表的最后一个元素
print(r.lrange("0" , 0 , -1))
print(r.lindex("0",0))
#llen(key):返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。
print(r.llen("2"))
print(r.lrange("2" , 0 , -1))
#ltrim(key , start , stop)对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
r.ltrim("2",0,1)
print(r.lrange("199278" , 0 , -1))