Redis数据库

Redis

#Redis和Memcached统称为缓存

#Redis又被称为非关系型数据库

Memcached 是一个只使用内存的软件
特性:只能存储字符串类型
优点:是速度极其的快
缺点:计算机宕机,数据全部被去除

Redis 为什么能火起来? 免费
特性:以字符串类型为基础,衍生了很多其它类型
优点:可以使用内存(临时存储),也可以使用硬盘(永久存储)
缺点:速度相对于Memcached来说比较慢

#redis桌面图形
Redis Desktop Manager
#官网提供3个版本,win,Linux,MacOS

Linux中管理Redis

#我们使用oneinstack安装的redis
#默认路径
/usr/local/redis/etc
#在etc可以看见端口 6379


#配置远程链接
#参数 绑定某个地址,如果bind 127.0.0.1没有被注释,那么不能进行远程访问
bind 127.0.0.1 ::1
#参数 受保护的,默认值是yes
protected-mode no
#守护进程  改为yes,在后台运行
daemonize yes
#验证的密码
requirepass 密码

#当配置项修改完毕以后,需要重启
service redis-server restart|start|stop|status

#进入redis终端
redis-cli --raw
#需要验证是否连接通畅
ping
#如果返回(error) NOAUTH Authentication required.
auth 密码
#返回pong代表连接成功

#redis中一共有16个数据库,默认是0-15
#选择数据库
select 0 (默认)

#退出
exit|quit

1.String

String是redis中最基本的数据类型,最大可以存储512M(这个值是可以设置的)
String类型是二进制的,可以存储图片,存储数字,序列化....
  • 设置

    1.设置键和值
    set key value
    #案例:存储一个邮箱
    set email 88888@qq.com
    #在图形界面化有有一个TTL:-1(代表永久花存储)

    2.设置带有过期时间的键和值
    setex key seconds value

    3.一次性设置多个键和值
    mset key value [key value…]

  • 获取

    1.获取一个值
    get key

    2.一次性获取多个
    mget key [key…]

  • 运算

    1.自加一
    incr key

    2.自减一
    decr key

    3.一次性加上一个数
    incrby key intnum

    4.一次性减去一个数
    decrby key intnum

  • 常数字符串

    1.追加值(返回的是一个长度)
    append key value

    2.查看字符串的长度
    strlen key

2.key

1.查找key,支持正则
keys 'pattern'

2.判读键是否存在,返回的是bool值
exists key 

3.查看键对应值的类型
type key

4.删除键,返回bool值
del key [key...]

5.设置生命周期,-1是永久的,-2是过期
expire key seconds

6.查看过期时间长度
ttl key

3.hash

python的字典就是一个hash类型

hash象一个序列,但不是序列,在计算机中是一个特殊的存储结构,它的特性是键值对,hash是一个整体
  • 设置

    1.设置单个值
    hset key field value

    2.设置多个值
    hmset key field value [field value …]

  • 获取

    1.获取一个值
    hget key field

    2.获取多个值
    hmget key field [field…]

    3.获取所有的键和值
    hgetall key

    4.获取所有的字段|属性
    hkeys key

    5.获取所有的值
    hvals key

    6.返回包含元素的长度
    hlen key

  • 其它

    1.判断某个字段或者属性存不存在
    hexists key field

    2.删除属性
    hdel key field

    3.返回某一个属性的长度
    hstrlen key field

4.list

链表:按照一定的顺序进行排序
  • 设置

    1.从头部插入
    lpush key values

    2.从尾部插入
    rpush key values

    3.在指定的位置进行插入
    linsert key after|before pivot value

    4.设置指定的索引的值
    lset key index value
    #list的索引从0开始,-1代表最后一个位置

  • 获取

    #选择范围
    lrange key start end

    #弹出以后的数据,就被删除了
    lpop key
    rpop key

  • 其它

    1.裁剪链表
    ltrim key start end

    2.查看链表的长度
    llen key

    3.返回指定索引位置的值
    lindex key index

5.set

set:无序集合,集合的值是唯一的
  • 设置

    #添加元素
    sadd key member [member…]

  • 获取

    #获取所有的元素
    smembers key

    #返回集合元素的个数
    scard key

  • 其它

    1.求多个集合的交集
    sinter key key [key…]

    2.求多个集合的差集,返回左边集合的差集
    sdiff key key [key…]

    3.求多个集合的并集
    sunion key key [key…]

    4.判断元素是否在集合中,返回的是bool值
    sismember key member

6.zset

zset:有序集合,
特性:
1.可以进行排序,权重(score)排序法
2.元素不能重复
  • 设置

    #添加值
    zadd key score member

  • 获取

    1.返回指定范围
    zrange key start end

    2.返回zset的元素长度
    zcard key

    3.返回权重大小之间的值的元素个数
    zcount key min max

    4.返回某个元素的权重
    zscore key member

7.python-redis

pip install redis
  • 单入口连接

    import redis

    #连接远程的redis服务器
    conn = redis.Redis(host=‘10.11.58.103’,port=6379,db=0,decode_responses=True,password=‘123456’)

    #设置一个string

    conn.set(‘name’,‘tom’)

    #获取值
    print(conn.get(‘name’))

  • 连接池

    import redis

    #创建一个连接池
    #每次都会进行链接,避免做重复的建立和释放,我们使用连接池自动管理
    #redis会产生多少个实例,让多个实例共享一个连接池
    pool = redis.ConnectionPool(host=‘10.11.58.103’,password=‘123456’,port=6379,decode_responses=True,db=0)

    #实例化redis
    res = redis.Redis(connection_pool=pool)

    res.hmset(‘abc’,{‘a’:1,‘b’:2})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值