zoukankan      html  css  js  c++  java
  • Redis的入门及注意事项

    1、redis简介

    Remote Dictionary Server

    Redis 与其他 key - value 缓存产品有以下三个特点:

    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Save

    Redis不仅仅支持简单的key-value类型的数据,同时还提供listsetzsethash等数据结构的存储。(其他kv的支持何种类型?)

    性能极高Redis能读的速度是110000/s,写的速度是81000/s

    Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

    2、Redis 安装,配置

    压缩包解压就好。

    阿里云Redis

    数据库的数量,日志的等级,端口,密码等,存到磁盘,是否压缩存储,存放位置,数据库文件名。

    3、数据类型

    支持5种数据类型。字符串类型,hash类型,list类型,集合类型,有序集合类型。

    Exists key

    3.1String 512M最大。

    设置key存在,同名会覆盖,过期时间也会覆盖。

    Set test “CBI”

    Get test

    Get Range test 0 1      -1 -2 倒着截取

    GetSet test value 一个原子

    MSet key1 value1 key2 value2

    MGet key1 key2

    Strlen key

    SetRange key

    SetNX key value不存在才能成功

    SetEX key seconds value 过期时间是秒

    TTL key 看生存时间

    MSetNX 多个不存在,正确就都正确,原子性

    PSetEX 以毫秒为单位

    PTTL key 看生存时间毫秒

    INCR key 直接+1

    INCRBY key value(增量)

    INCRBYFLOAT key value(浮点增量)

    DECR key

    DECRBY key 指定增量

    APPEND key value字符串末尾追加新值

    3.2hash 存对象

    HSet key field value

    HGet key field value

    HSetNX key field value 如果不存在,nx

    HMset key field1 value1 field2 value2 一次建好一个hash,建一个field有部分重合的

    HMget

    Hgetall key 返回key中的所有的field value

    Hkeys key

    HVals key

    HExists key field

    HLen key

    HINCRBY key field value数值可以

    HINCRBYFLOAT key field value

    HDEL KEY FIELD FIELD 可以删除多个

    3.2key相关的命令

    Keys pattern 。   

    *匹配任意个

    ?匹配任意一个

    []匹配方括号之间的一个字符

    x匹配特殊字符

    Keys *c?

    Exists key

    TYPE key

    EXPIRE key seconds

    EXPIREAT key timestamp

    PEXPIRE key seconds 毫秒

    PEXPIREAT key timestamp

    TTL key 返回生命周期

    PTTL key

    PERsist key 不过期

    DEL key key key 可以删除多个

    Randomkey

    Rename key newkey

    renameNX key newkey 不存在的时候生效

    DUMP key 序列化给定的key,返回序列化之后的值

    RESTORE key tt value反序列化

    MOVE key dbid key移动到另外的库中 select 0 0号数据库

    3.4)列表

    最新的100条,热点新闻,列表很快

    LPUSH 向左端添加一个原色

    Lpush key value value value 。。。。

    Lrange key int int

    Rpush 从右边添加

    LPUSHX 从左边添加,如果存在的话

    RPUSHX

    LPOP 弹出左边第一个

    RPOP

    LLEN list长度

    LREM key count value  复杂一点 count3种情况 》0 0 = 0

    LINDEx key index

    LSET key index value

    LTRIM key start stop 只保留

    LInsert key before/after pivot value

    RPOPLPUSH list1 list2从一个列表转入到另外一个列表

    BLPOP LPOP的阻塞版本

    3.5Set 集合类型 无序集合 集合不能重复

    Sadd key member member

    SMembers key

    SISmember key value

    SRem key value

    SPOP key value 删除并返回一个随机元素

    Srandmember key count  count大于 正数 负数 不同结果

    SDiff key1 key2 不在的,由左向右

    Sinter key1 key2 交集

    Sunion key1 key2 并集

    Scard key 返回个数

    Sdiffstore newkey key1 key2差集结果保存到指定集合中

    SInterstore newkey key1 key2

    SUnion newkey key1 key2

    Smove oldkey newkey member 将原来的一个元素移动到新集合中

    3.6ZSet 有序集合 耗一点内存

    ZAdd key score member +inf正无穷大 -inf 负无穷大 分数相同 ascii

    ZScore key member

    Zrange key strat stop [withscores]返回分数区间的值,按照从小到大

    ZREVrange key start stop 按照从大到小

    Zrangebyscore key start stop

    Zrevrangebyscore key start stop 从大到小

    Zincrby key incr member

    Zcard key 返回总数

    Zcount key min max 返回区间的数量

    ZRem key member

    ZREMrangebyrank key start stop 按照排名区间删除,从小到大

    ZREMrangebyscore key start stop 按照分数区间删除

    Zrank key member

    Zrevrank key member

    ZinterStore newkey count key1 key2 [weights weight weight]分数乘以权重 [aggregate]交集score默认求和

    ZunionStore newkey ount key1 key2 [weights weight weight]分数乘以权重 [aggregate]交集score默认求和

    4、Redis中的事务

    4.1Multi开启事务 开启以后,事务块中多条会变成一个事务执行,用EXEC执行

    4.2EXEC执行命令

    4.3)监视一个或者多个key WATCHkey在执行之前被其他命令改动,则取消事务

    4.4UNwatch 取消对key的监视

    4.5discard 取消事务

    4.6)事务中的错误处理。语法错误不执行;运行时错误,其他命令仍然可以被执行。

    5、redis连接相关

    5.1ping pong

    5.2echo string

    5.3quit

    5.4shundown

    5.5auth pwd指定身份验证 config set requirepass pwd

    5.6select 选择数据库

    6、生存时间

    Expire expireat pexpire persist TTL PTTL

    Session的保存。

    7、性能测试

    redis-benchmark -n 10000

    8、排序

    8.1

    SORT key ASC/DESC 默认对数字排序

    SORT key alpha

    汉字识别UTF-8

    8.2

    Limit

    Sort key alpha limit 0 5 [desc]

    8.3)根据外部key的权重排序

    Sort key by otherkey

    8.4)根据排序结果取出键值

    9、管道技术

    TCP协议。

  • 相关阅读:
    国内的pythoner强烈建议使用豆瓣的pypi源 zz
    python3.x中的urllib模块
    idcheck.py
    17、关于hibernate的N+1问题
    16、【转】Hibernate 原汁原味的四种抓取策略
    1、SSH的整合---->将Struts2整合到Spring中
    1、利用json2html.js处理json数据
    1、Ubuntu14.04使用root登陆帐户
    2、CentOS中修改yum源
    1、在CentOS上安装Java JDK的步骤
  • 原文地址:https://www.cnblogs.com/cbi360/p/6215284.html
Copyright © 2011-2022 走看看