redis的基本数据类型
一:redis是一个开源的,使用C语言编写,支持网络,可基于内存亦可持久化的日志型,key-value方式存储的nosql数据库。作为缓存服务器,速度效率都很快,和memcache相似
redis支持的数据类型:string字符串类型,list链表类型,set无序集合类型,zset有序集合类型和hash哈希类型
redis支持主存同步,数据可以从主服务器上向任意数量的从服务器同步,同样,从服务器也可以作为关联其他从服务器的主服务器
二:
在linux上对redis进本数据类型进行操作
(1)Sting类型
set key value
get key 获得对应的value值
(2)list类型 :
lpush key values
lpush list1 1 2 3 4 5
栈的数据结构是先进后出(后进先出)
lpush表示从左边开始进行压栈操作,取出的数据顺序和进栈的顺序刚好相反,
rpush表示从最右边开始进行压栈操作,取出数据的顺序和插入数据的顺序一致
集合中一个key可以对应多个value值,是基于链表存储的
lrange key 0 -1
lrange list1
获得结果:
5
4.
3.
2.
1
(3)set无序集合
set集合不允许有重复的元素,如果有重复的,自动将重复的数据删除
存值:sadd key values
例子: sadd list2 a b c
取值:smembers key
例子:smembers list2
取出的数据是无序的集合,没有重复数据
(4)zset集合:有顺序,不能重复
会将插入数据时的数字作为排序的依据,默认进行升序的排列
存值:获默认按照score进行升序排列
zset key score1 value1 score2 value2 score3 value3
取值;取出的数据是经过升序排列的没有重复的有序集合
zrange key 0 -1 升序输出
zrevrange key 0 -1 降序输出
删除:zrem key value
5.hash数据类型
hash: key-fields-values(做缓存使用)
一个key对应一个map,map中还有key/value
可以使用hash对key进行归类
Hset :向hash中添加数据
Hget:从hash中取出数据
Redis中数据类型总结:redis中的所有数据都是字符串,命令不区分大小写,key是区分大小写的,由于redis是单线程的,因此不适合保存内容大的数据。
三:redis中的过期时间
设置过期时间:expire key 时间
查看多久过期:ttl key
清除过期时间,将key持久化
Presist key 清除key的过期时间