简介
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库
非关系型数据库的一种,经常用作缓存
官网:redis.io,中文网:redis.cn
丰富的数据类型:字符串、哈希、列表、集合、有序集合等
端口:6379
安装:
sudo apt-get install redis-server
连接测试
检查服务是否启动:
ps -ef | grep redis
连接:
redis-cli -h 主机 -p 端口 -a 密码
-h:指定主机
-p:指定端口
-a:指定密码
--help:查看帮助
示例:
redis-cli -h localhost -p 6379
测试:
127.0.0.1:6379>ping
127.0.0.1:6379>PONG
退出:quit
密码管理:默认没有密码,若设置了密码,没有密码也可以登录成功,但是什么都不能做
单次有效,通过以下命令
获取密码:config get requirepass
设置密码:config set requirepass 123456
密码认证:auth 123456
永久有效,修改配置文件
/etc/redis/redis.conf
将
requirepass xxxxx
行取消注释后面跟上你需要的密码
重启服务后即可生效
redis命令
常用
ping:测试连接情况,回复PONG表示OK quit:退出连接 auth:密码认证 select:选择库,总共有16个,序号0~15,默认是第0个 info:查看服务器信息 command:查看支持的命令 flushdb:清空当前库 flushall:清空所有库 save:前台进行持久化存储 bgsave:后台进行持久化存储 exists:判断指定键是否存在 del:删除键
字符串(string)
set:设置 get:获取 getset:获取之后再设置 mset:设置多个 mget:获取多个 incr:加1 decr:减1 incrby:加指定的值 decrby:减指定的值 append:追加内容
哈希(hash)
hset:设置单个属性 hget:获取单个属性 hmset:设置多个属性 hmget:获取多个属性 hgetall:获取所有属性 hdel:删除键值对 hexists:判断指定键的指定字段是否存在 hkeys:获取指定键的所有属性名 hvals:获取指定键的所有属性值 hlen:获取指定键的属性个数
列表(list)
lpush:从左边(头部)插入数据 lpop:从左边(头部)删除数据 lrange:获取指定区间范围内的数据,0 -1表示所有 lindex:根据索引获取元素 llen:获取列表长度(元素个数) rpush:从右边(尾部)插入数据 rpop:从右边(尾部)删除数据 lrem:移除指定个数的指定元素
集合(set)
sadd:添加元素 scard:统计元素个数 sdiff:求差集 sinter:求交集 smembers:获取指定集合的所有成员 sismember:判断是否在集合中 smove:移动元素 spop:随机的删除一个元素 srandmember:随机获取指定个数的元素 srem:移除元素 sunion:求并集
有序集合(sorted set)
zadd:添加元素 zcard:统计个数 zcount:指定分数区间内的元素数量 zrange:返回指定索引范围内的元素 zrangebyscore:返回指定分数区间的元素 zrank:返回指定成员的索引值 zrem:移除元素 zscore:获取指定元素的排序指标(分数)
python操作redis
安装扩展库:
pip3 install redis
简介:
redis扩展库中有两个类,Redis和StrictRedis,StrictRedis实现了官方的命令,Redis是它的子类,兼容老版本。扩展库没有实现select方法,可以通过连接时指定使用的库。
操作:
简单连接
导入redis,创建Redis对象,所有命令行下的命令在代码中都是Redis对象的方法
连接池
多个redis对象使用同一个连接池进行连接,避免了多次连接、断开等操作的系统开销
使用管道(pipeline)
可以记录多个操作,然后一次将操作发送至数据库,避免了多次向服务器发送少量的数据
多个操作可以依次进行保存,然后发送,也可以进行连贯操作
使用工具远程连接redis
修改配置文件:/etc/redis/redis.conf,bind改为0.0.0.0
修改之后重启服务即可。