redis的连接与使用

一、python连接redis

在python中,要操作redis,目前主要是通过一个python-redis模块来实现

1、在python中安装redis模块

	  	pip3 install redis

2、在python中使用redis

python连接redis数据库:

#!/usr/bin/env python
# -*- coding:utf8 -*-

import redis

'''
这种连接是连接一次就断了,耗资源.端口默认6379,就不用写
r = redis.Redis(host='127.0.0.1',port=6379,password='tianxuroot')
r.set('name','root')

print(r.get('name').decode('utf8'))
'''
'''
连接池:
当程序创建数据源实例时,系统会一次性创建多个数据库连接,并把这些数据库连接保存在连接池中,当程序需要进行数据库访问时,
无需重新新建数据库连接,而是从连接池中取出一个空闲的数据库连接
'''
pool = redis.ConnectionPool(host='127.0.0.1',password='cxkdlq')   #实现一个连接池

r = redis.Redis(connection_pool=pool)
r.set('name','root')
print(r.get('name').decode('utf8'))

二、Redis API使用

1. String操作
redis中的String在在内存中按照一个name对应一个value来存储

set(name, value, ex=None, px=None, nx=False, xx=False)
  在Redis中设置值,默认,不存在则创建,存在则修改
  参数:
       ex,过期时间(秒)
       px,过期时间(毫秒)
       nx,如果设置为True,则只有name不存在时,当前set操作才执行
       xx,如果设置为True,则只有name存在时,岗前set操作才执行

setnx(name, value)
    #设置值,只有name不存在时,执行设置操作(添加)

setex(name, value, time)
  # 设置值
  # 参数:
        # time,过期时间(数字秒 或 timedelta对象)
psetex(name, time_ms, value)
  # 设置值
  # 参数:
    # time_ms,过期时间(数字毫秒 或 timedelta对象)

mset(*args, **kwargs)
    批量设置值
  如:
        mset(k1='v1', k2='v2')
        或
        mget({
   'k1': 'v1', 'k2': 'v2'})

get(name)
    获取值

mget(keys, *args)
    批量获取
   如:
        mget('name', 'root')
        或
        r.mget(['name', 'root'])

getset(name, value)
    设置新值并获取原来的值

getrange(key, start, end)
    # 获取子序列(根据字节获取,非字符)
  # 参数:
        #name,Redis 的 name
        # start,起始位置(字节)
        # end,结束位置(字节)
  # 如: "你好" ,0-3表示 "你"   (utf8中一个中文字符占三个字节)

setrange(name, offset, value)
    # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)
  # 参数:
        # offset,字符串的索引,字节(一个汉字三个字节)
        # value,要设置的值

setbit(name, offset, value)
    # 对name对应值的二进制表示的位进行操作
  # 参数:
        # name,redis的name
        # offset,位的索引(将值变换成二进制后再进行索引)
        # value,值只能是 1 或 0
 
  # 注:如果在Redis中有一个对应: n1 = "foo",
        那么字符串foo的二进制表示为:01100110 01101111 01101111
        所以,如果执行 setbit('n1', 7, 1),则就会将第7位设置为1,
        那么最终二进制则变成 01100111 01101111 01101111,即:"goo"
 
  # 扩展,转换二进制表示:
    # source = "你好啊"
        source = "foo"
 
    for i in source:
        num = ord(i)
        print bin(num).replace('b','')
 
    特别的,如果source是汉字 "你好啊"怎么办?
    答:对于utf-8,每一个汉字占 3 个字节,那么 "人生苦短" 则有 12个字节
       对于汉字,for循环时候会按照 字节 迭代,那么在迭代
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装和使用Redis,首先需要通过Composer安装predis/predis扩展包。接下来,你可以按照以下步骤进行Redis的安装和使用: 1. 下载并安装Redis:你可以从Redis的官方网站下载适合你操作系统的Redis压缩包,并解压缩到你想存储Redis文件的目录中。 2. 启动Redis服务器:在命令提示符或终端窗口中,导航到Redis的安装目录,并运行redis-server命令启动Redis服务器。 3. 连接Redis:打开另一个命令提示符或终端窗口,导航到Redis的安装目录,运行redis-cli命令以连接Redis服务器。 4. 在Redis中进行操作:一旦连接成功,你可以使用一些基本的Redis命令来操作Redis数据库。例如,你可以使用SET命令设置一个键值对,使用GET命令获取一个键的值。还有其他各种命令可以用来处理不同类型的数据,比如字符串、哈希、列表等。 5. 可视化管理工具:如果你想使用一个可视化管理工具来更方便地管理Redis,你可以安装Redis Desktop Manager。安装和配置Redis Desktop Manager的步骤可以参考所提到的文章。 总结起来,你需要安装Redis并启动Redis服务器,然后使用redis-cli命令连接Redis,并使用各种Redis命令来操作数据。如果需要可视化管理工具,可以考虑安装Redis Desktop Manager。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Redis安装及用法介绍](https://blog.csdn.net/qq_56687451/article/details/118538966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [redis的安装和使用](https://blog.csdn.net/weixin_45111741/article/details/102997508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值