美文网首页
Redis初步(Windows)

Redis初步(Windows)

作者: RabbitMask | 来源:发表于2019-08-14 13:25 被阅读0次

    目录:
    一、Redis服务器
    二、Redis-cli访问
    三、Python-Redis访问

    Linux版本下载地址:
    https://redis.io/download
    Windows版本下载地址:
    https://github.com/microsoftarchive/redis/releases

    Redis内存高速缓存数据库,基于key-value存储,同时又支持磁盘存储和分布式,在比较了Memcached和MongoDB之后,笔者还是选择了它作为本次开发工作的NoSql。

    Redis服务器

    首先是开启服务端,顺便一提,Redis3.0开始支持分布式。

    官方提供了安装包和绿色版,前者可自动添加至环境变量。

    绿色版直接运行redis-server.exe即可,已安装的就可以命令行直接调喽,当然也可以通过redis-server.exe *.conf指定自定义配置文件,不然使用默认配置。

    在这里我们顺便说下Redis访问密码设置。
    在conf文件中加入一行requirepass password即可。
    如果未认证连接,将会收到(error) NOAUTH Authentication required.的error,可使用auth “password”命令完成认证。

    redis-cli访问

    客户端连接使用解压目录下的redis-cli.exe进行连接。
    redis-cli.exe -h host -p port -a password
    首先,我们要知道Redis 本身支持16个数据库(0~15),通过 数据库id 设置,默认为0,这一点我们通过Redis Manager也可以查看。

    本文不对针对Redis支持的数据类型展开讲解,我们只来实现一个key-value小实例,将姓名存储到第二个数据库中,保留10分钟即可。

    大家都知道最基础的set方法,它的作用是存储数据到缓存中,并制定过期时间和当Key存在时是否覆盖。
    set key value [EX seconds] [PX milliseconds] [NX|XX]
    其中:
    EX 即数据过期时间|单位为秒,PX 即数据过期时间|单位为毫秒。
    NX即只有当key不存在是才进行set,XX即只有当key已经存在时才进行set。
    如果默认只用key-value,过期时间不限,相同key的数据会被覆盖。

    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> set name rabbit EX 600
    OK
    127.0.0.1:6379[1]> get name
    "rabbit"
    

    我们可以看到数据已经成功存储到redis,并可以使用get方法进行数据获取。

    但值得一提的是,无论你设置了多久的过期时间,终究还是在缓存中,当redis重启后或服务器意外断电等,缓存中的数据将全部丢失,如果使用redis又偶尔会有持久性存储需求,记得使用save方法,当然了,设置了过期时间的数据即使save也会被按时清除的。

    Python-Redis访问

    python对redis的操作可借助第三方库StricRedis和Redis来实现,按照官方建议,我们这里选择StricRedis,还有一个原因就是他更贴近于原生的rediscli操作。

    我们通过配置连接池的方式进行Redis访问,避免频繁的redis连接创建和释放的目的, 从而提保证其性能。
    其次值得一提的是为了保证线程安全,无论是StricRedis还是Redis库都不支持select数据库切换,所以在连接配置中便通过db参数指定了数据库,同样默认为db0。

    from redis import StrictRedis,ConnectionPool
    
    pool = ConnectionPool(host='127.0.0.1', port=6379, db=2, password='123456')
    r = StrictRedis(connection_pool=pool)
    r.set('name', 'rabbitmask')
    print(r.get('name'))
    
    #输出
    b'rabbitmask'
    

    相关文章

      网友评论

          本文标题:Redis初步(Windows)

          本文链接:https://www.haomeiwen.com/subject/louwjctx.html