python操作redis:
https://www.cnblogs.com/melonjiang/p/5342505.html
https://www.jianshu.com/p/2639549bedc8
redis命令:
http://doc.redisfans.com/
操作系统环境‘
CentOS Linux release 7.2.1511 (Core)
redis版本
redis-3.2.9
安装过程
从官网https://redis.io/下载redis软件后放到linux服务器/app目录中,解压后查看README文档,了解安装步骤
$ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar xzf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make $ make test (比较重要) 启动与验证 $ ./src/redis-server & $ ./src/redis-cli 127.0.0.1:6379> set foo bar OK 127.0.0.1:6379> get foo "bar"
我们再做一些配置项
1、密码登陆
默认redis数据库登陆是无须密码的,为了安全起见,我们爬虫项目应该设置密码登陆验证。
vi redis.conf 注释requierpass requirepass redis
2、允许远程访问redis数据库
redis默认情况下,只监本机的端口,如果想其它机器也能访问些数据库的话,需要修改其监听ip
注释此监听 # bind 127.0.0.1
3、重新启动redis服务
$ redis-cli 127.0.0.1:6379> shutdown save $ ./src/redis-server redis.conf &
4、远程访问
此时远程访问数据需要在命令行后面加上密码验证
$ redis-cli -h 192.168.10.106 -a redis 192.168.10.106:6379> keys * 1) "myk"
常用操作命令
在官方文档https://redis.io/commands中有详细的redis命令可查找
现仅列举几个示例:
查看数据中现在所有的Key 127.0.0.1:6379> keys * 1) "myk" 增加一个key值 127.0.0.1:6379> set name liming OK 获取一个key值 127.0.0.1:6379> get name "liming" 判断一个key值是否存在 127.0.0.1:6379> exists name (integer) 1 删除一个key值 127.0.0.1:6379> del myk (integer) 1 查看一个key值的类型 127.0.0.1:6379> type name string 随机返回一个key值 127.0.0.1:6379> randomkey "name" 给key重命名 127.0.0.1:6379> rename name names OK 返回数据库中key的数目 127.0.0.1:6379> dbsize (integer) 3 给一个key设置生存期 127.0.0.1:6379> expire age 10 (integer) 1 删除当前数据库所有key 127.0.0.1:6379[3]> flushdb OK 删除所有数据库中所有Key 127.0.0.1:6379[3]> flushall 11507:M 06 Jun 11:46:08.952 * DB saved on disk OK 一次获取多个key 127.0.0.1:6379[3]> mget sex age names 1) "mail" 2) "16" 3) "liming" 当key不存在时设置其值 127.0.0.1:6379[3]> setnx sex 16 设置一个key的过期时间及值 127.0.0.1:6379[3]> setex hei 10 158 批量设置key值 127.0.0.1:6379[3]> mset flower juhua water kquan OK 使key值增1 127.0.0.1:6379[3]> incr sex 指定key的增加值 127.0.0.1:6379[3]> incrby sex 2 傅key值减1 127.0.0.1:6379[3]> decr sex 指定key的减少值 127.0.0.1:6379[3]> decrby sex 3 (integer) 16 给指定key的值赋加新值,成为一个新的value 127.0.0.1:6379[3]> append name zha 返回指定key值的子串 127.0.0.1:6379[3]> substr names 0 4 "limin" 列表操作 在列表最后面新增一个value 127.0.0.1:6379[3]> rpush zhiwu flower 在列表最前面新增一个value 127.0.0.1:6379[3]> lpush zhiwu shui 返回列表的长度 127.0.0.1:6379[3]> llen zhiwu 获取列表的范围元素 127.0.0.1:6379[3]> lrange zhiwu 0 2 截取列表的指定范围 127.0.0.1:6379[3]> ltrim zhiwu 0 1 通过索引获取一个列表中的值 127.0.0.1:6379[3]> lindex zhiwu 1 通过索引设置列表中元素的值 127.0.0.1:6379[3]> lset zhiwu 1 nia 从列表中删除指定个数的值 127.0.0.1:6379[3]> lrem mylist 2 hello 删除并获取列表最后一个key值 127.0.0.1:6379[3]> rpop mylist 删除并获取列表第一个key值 127.0.0.1:6379[3]> lrange mylist 0 -1 删除源列表最后一个key值,同时添加到目标列表的第一个位置 127.0.0.1:6379[3]> rpoplpush mylist namelist 集合操作 向集合中添加一个元素 127.0.0.1:6379[3]> sadd mykey kong 查看集合中所有元素 127.0.0.1:6379[3]> smembers mykey 随机查看集合中的一个元素 127.0.0.1:6379[3]> srandmember mykey 移除指定集合中指定的一个或多个元素 127.0.0.1:6379[3]> srem mykey kong 移除指定集合中最后一个元素 127.0.0.1:6379[3]> spop myeky 从源集合中移除一个值到目标集合中 127.0.0.1:6379[3]> smove mykey1 myeky kong 检测一个给定的值是否为指定集合的成员 127.0.0.1:6379[3]> sismember mykey gen 求两集合的交集 127.0.0.1:6379[3]> sinter mykey mykey1 求两集合的交集结果存入在新的集合中 127.0.0.1:6379[3]> sinterstore interkey mykey mykey1 求两集合的并集 127.0.0.1:6379[3]> sunion mykey mykey1 求两集合的并集结果存储到新的集合中 127.0.0.1:6379[3]> sunionstore unionkey mykey mykey 求两集合的差集 127.0.0.1:6379[3]> sdiff mykey mykey1 求两集合的差集并存储在新的集合中 127.0.0.1:6379[3]> sdiffstore diffkey mykey mykey1