二:Redis数据类型

Posted smile radiantly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二:Redis数据类型相关的知识,希望对你有一定的参考价值。

一.?nosql(非关系性数据库):

mongoDB
hbase
redis
nulch  
hive
pig
mahout  
zookeeper

二:redis 数据类型

1.存储string:

常用命令:
    设置/取值:
        set key value
        get key
        getset key value 
        del key  
    数值增减:
        incr key
        decr key
    扩展命令:
        incrby key increment
        decrby key decrement
        append key value

2.存储hash:键值对

常用命令:
    赋值:
        hset key field value
        hmset key field value [field2 value2 ...]
    取值:
        hget key field
        hmget key field field ...
        hgetall key
    删除:
        hdel key field [field...]
        del key
    增加数字:
        hincrby key field increment 
自学命令:
    hexists key field  
    hlen key 
    hkeys key 
    hvals key 

3.存储list:有序可重复,按插入顺序排序的字符串链表

常用命令:
    两端添加:
        lpush key values[value1 value2 ...] 
        rpush key values[value1 value2 ...] 
    查看列表:
        lrange key start end 
    两端弹出:
        lpop key 
        rpop key 
    获取列表中元素的个数
        llen key
扩展命令:
    lpushx key value 
    rpushx key value 
    lrem key count value 
    lset key index value 
    linsert key before|after pivot value 
    rpoplpush resource destination
        rpoplpush mylist1 mylist2
        rpoplpush mylist1 mylist1

4.存储set:无序不重复

常用命令:
    添加/删除元素:
        sadd key values[value1,value2...] 
        srem key members[member1,member2...] 
    获得集合中元素:
        smembers key 
        sismember key member 
    集合中差集运算:A-B
        sdiff key1 key2...: 
    集合中交集运算:AnB
        sinter key1 key2...:
    集合中并集运算:AuB
        sunion key1 key2...:
扩展命令:
    scard key 
    srandmember key 
    sdiffstore destination key1 key2... 
    sinterstore destination key1 key2...
    sunionstore destination key2 key2...

5.存储sortedset:有序不重复

常用命令:
    添加元素:
        zadd key score memeber score2 member2... 
    获得元素:
        zscore key member 
        zcard key 
    删除元素:
        zrem key member[member...] 
        zremrangebyrank key start stop 
        zremrangebyscore key min max 
    范围查询:
        zrange key start end [withscores] 
            zrange myzset 0 -1 withscores
        zrevrange key start stop [withscores]       
扩展命令:
    zrangebyscore key min max [withscores] [limit offset count] 
    zincrby key increment member
    zcount key min max
    zrank key member
    zrevrank key member

6.keys值的通用操作:

keys pattern : *表示任意一个或多个; ?表示任意一个字符
del key1 key2... 
exists key 
rename key newkey 
expire key 
ttl key 
type key

三:redis特性:

1.多数据库:

一个redis实例最多可提供16个数据库,下标从0到15,默认连接是第0号数据库,也可以通过select选择连接哪个数据库。

select 1
move key 2 

2.服务器命令:

ping 
echo 
select 
quit 
dbsize :当前数据库中key的数目
info :服务器的信息和统计
flushdb :删除当前选择数据库中的所有key
flushall :删除所有数据库中的所有key

3.消息订阅与发布:

subscribe channel :订阅频道
    subscribe mychat
psubscribe channel* :批量订阅频道
    psubscribe s* :订阅以‘s’开头的频道
publish channel content :在指定的频道中发布消息
    publish mychat 'today is a newday'

4.redis事务:

multi :开启事务
discard :事务回滚
exec :提交事务
    multi
    incr num1
    incr num2
    incr num3
    discard/exec

四:redis持久化:数据从内存中同步到硬盘中

redis支持两种方式持久化:一种RDB;一种AOF.

1.RDB(默认支持,无需配置)

在指定时间间隔内将内存中的数据集快照写入磁盘

快照参数设置:
    save 900 1  15分钟 至少1个key发生变化,即dump内存快照
    save 300 10  5分钟 至少10个key发生变化,即dump内存快照
    save 60 10000 1分钟 至少10000个key发生变化,即dump内存快照 

2.AOF

以日志形式记录服务器所处理的每一个写操作,在redis服务器启动之初会读取该文件来重新构建数据库。

配置信息:
    always  每次有数据修改发生时写入aof文件
    everysec  每秒钟同步一次
    no  从不同步

以上是关于二:Redis数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习二(常用五大数据类型)

Redis学习基础二

Redis学习之二 数据类型和相关命令

Redis数据库——Redis数据类型

redis基础二----操作set数据类型

redis数据类型二之list的操作命令