python链接redis(Python链接服务器)

发布时间:2022-11-16

本文目录一览:

  1. python怎么测试与redis的连接
  2. python 的 redis 库,连接池怎么用
  3. 如何在Linux上为Python语言安装Redis客户端

python怎么测试与redis的连接

Redis服务端:192.168.100.132;port=6379
Redis客户端:192.168.100.132
客户端操作: 安装python支持redis;

tar zxvf redis-2.9.1.tar.gz
cd redis-2.9.1
python setup.py install

服务端启动redis:

/root/redis-2.2.12/src/redis-server

客户端测试:

[root@master ~]# python
import redis
r = redis.Redis(host='192.168.100.132', port=6379, db=0)  # 如果设置了密码,就加上password=密码
r.set('name', 'lansgg')
# 输出: True
r.get('name')
# 输出: 'lansgg'
r.exists('name')  # 看是否存在这个键值
# 输出: True
r.delete('name')
# 输出: 1
r.dbsize()  # 库里有多少key,多少条数据
# 输出: 0L
r.set('name', 'lansgg')
# 输出: True
r.flushdb()  # 删除当前数据库的所有数据
# 输出: True
r.get('name')
r.set('name', 'lansgg')
# 输出: True
r.set('wm', 'leo')
# 输出: True
r.set('tt', 'coffee')
# 输出: True
r.keys()  # 列出所有键值
# 输出: ['tt', 'wm', 'name']
r.save()  # 强行把数据库保存到硬盘。保存时阻塞
# 输出: True
r.dbsize()
# 输出: 3L
dir(r)
# 输出: ['RESPONSE_CALLBACKS', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_zaggregate', 'append', 'bgrewriteaof', 'bgsave', 'bitcount', 'bitop', 'blpop', 'brpop', 'brpoplpush', 'client_getname', 'client_kill', 'client_list', 'client_setname', 'config_get', 'config_resetstat', 'config_set', 'connection_pool', 'dbsize', 'debug_object', 'decr', 'delete', 'dump', 'echo', 'eval', 'evalsha', 'execute_command', 'exists', 'expire', 'expireat', 'flushall', 'flushdb', 'from_url', 'get', 'getbit', 'getrange', 'getset', 'hdel', 'hexists', 'hget', 'hgetall', 'hincrby', 'hincrbyfloat', 'hkeys', 'hlen', 'hmget', 'hmset', 'hscan', 'hset', 'hsetnx', 'hvals', 'incr', 'incrby', 'incrbyfloat', 'info', 'keys', 'lastsave', 'lindex', 'linsert', 'llen', 'lock', 'lpop', 'lpush', 'lpushx', 'lrange', 'lrem', 'lset', 'ltrim', 'mget', 'move', 'mset', 'msetnx', 'object', 'parse_response', 'persist', 'pexpire', 'pexpireat', 'ping', 'pipeline', 'psetex', 'pttl', 'publish', 'pubsub', 'randomkey', 'register_script', 'rename', 'renamenx', 'response_callbacks', 'restore', 'rpop', 'rpoplpush', 'rpush', 'rpushx', 'sadd', 'save', 'scan', 'scard', 'script_exists', 'script_flush', 'script_kill', 'script_load', 'sdiff', 'sdiffstore', 'sentinel', 'sentinel_get_master_addr_by_name', 'sentinel_masters', 'sentinel_sentinels', 'sentinel_slaves', 'set', 'set_response_callback', 'setbit', 'setex', 'setnx', 'setrange', 'shutdown', 'sinter', 'sinterstore', 'sismember', 'slaveof', 'smembers', 'smove', 'sort', 'spop', 'srandmember', 'srem', 'sscan', 'strlen', 'substr', 'sunion', 'sunionstore', 'time', 'transaction', 'ttl', 'type', 'unwatch', 'watch', 'zadd', 'zcard', 'zcount', 'zincrby', 'zinterstore', 'zrange', 'zrangebyscore', 'zrank', 'zrem', 'zremrangebyrank', 'zremrangebyscore', 'zrevrange', 'zrevrangebyscore', 'zrevrank', 'zscan', 'zscore', 'zunionstore']

这只是一个简单的测试,为了测试redis是否正常工作,我们安装是否正确;

python 的 redis 库,连接池怎么用

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import redis
host = r'localhost'
port = 6379
POOL = redis.ConnectionPool(host=host, port=port, db=0)
my_server = redis.Redis(connection_pool=POOL)
def read_in_data(file_name):
    data = []
    with open(file_name, 'r') as f:
        for line in f:
            line = line.strip()
            data.append(line.split(','))
    return data
def write_data_to_redis(data):
    my_server.set('counter', 0)
    for items in data:
        my_server.incr('counter')
        for item in items:
            my_server.rpush(items[0], item)
def get_data_from_redis():
    keys = my_server.keys()
    for key in keys:
        data_type = my_server.type(key)
        if data_type == 'list':
            val = my_server.lrange(key, 0, -1)
        elif data_type == 'string':
            val = my_server.get(key)
        print("%s:%s" % (key, val))
if __name__ == '__main__':
    fileName = r'/Users/qinchuanqing/Code/workspace/IMP/installation/storage/NeSchedule.txt'
    data = read_in_data(fileName)
    write_data_to_redis(data)
    print('all data items number is %s' % my_server.get('counter'))
    print(my_server.keys())
    print(get_data_from_redis())

如何在Linux上为Python语言安装Redis客户端

(1)下载好之后,使用命令进行解压:
(2)使用命令 python ez_setup.py 进行运行:
(3)使用命令 python -m easy_install redis hiredis 来安装redis包以及hireredis包: 由上图可看出在安装过程中出问题了,最终找到原因才是因为Linux上的Python版本(2.7)太低!!!所以我们接下来升级Python的版本: a)首先还是在Python的官网上下载安装包,下面给出下载的地址:
我选择的版本是Python-3.1.2版本,其他的版本也是可以,但至少要比2.7版本要高: b)解压安装包:
d)在 /usr/local 下创建目录 python3,用于安装python的路径,以免覆盖老的版本:
e)开始编译安装:

./configure --prefix=/usr/local/python3
make
make install

f)编译安装完成之后,此时没有覆盖原来的版本,再将原来 /usr/bin/python 链接改为别的名字:

mv /usr/bin/python /usr/bin/python_old

g)再建立新版本python的链接:

ln -s /usr/local/python3/bin/python3 /usr/bin/python

至此python的安装已经完成!!!! PS:如果不建立新安装路径 python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。 以上则就是python的新版本!!!! 然后再使用刚开始的命令: (4)
(5) 至此我们已经完成了在Linux上为Python语言安装Redis客户端!!!!接下来我们进行验证: (6)首先开启redis服务:
(7)查看服务器开启端口:
(8)开启redis客户端连接服务器:
(9) 下面我们使用python来测试redis,首先启动python:
(10)导入redis客户端:
(11)创建redis连接,并设置一个值,然后通过获取返回值来判断设置操作是否执行成功