zoukankan      html  css  js  c++  java
  • 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  从不同步
  • 相关阅读:
    PAT顶级 1002. Business (35)
    Codeforces Round #417 (Div. 2) B. Sagheer, the Hausmeister
    Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market
    主席树模板poj 2104
    Java 集合相关
    扁平疣病治疗
    一些网址
    在ubuntu14.04设置静态ip
    在Ubuntu14.04下安装vsftp服务器
    移植SDL运行库到Tiny6410 上
  • 原文地址:https://www.cnblogs.com/itzlg/p/10699456.html
Copyright © 2011-2022 走看看