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  从不同步
原文地址:https://www.cnblogs.com/itzlg/p/10699456.html