Redis数据类型
来源:互联网 发布:spark sql 官网 编辑:程序博客网 时间:2024/05/17 23:33
Redis的数据类型
首先介绍下redis的使用过程:
redis作为一个数据库缓存,如果用户要取数据,则先会判断redis中是否存有数据,若redis中没有数据则从数据库中将数据取出(mysql等关系型数据),取出后会向redis中存一份数据,并向用户传送一份数据。(如同缓存一样)。这样子下回取数据可以直接在redis中存取,不用去访问数据库。
而redis的分布式则是表示,如果一个128G的redis不够用,则再加一个redis,这就表示分布式
1.redis的数据类型
(1)字符串-----String
(2)列表--------list
(3)散列--------hash
(4)集合--------set
(5)有序集合--zset
2.redis的常用命令:
(1)set key value
---向redis中存放键值对
(2)get key
---向redis中取出key所对应的value
(3)del key
---将redis中已经存储的key删除掉
(4)incr key
---使key所对应的值自增1,并返回其增加后的值
eg.
get key1
>>"1"
incr key1
>>2
注意:刚开始得到的是一个字符类型,incr之后变为一个integer类型
(5)decr key
---与incr相反,incr是递增,decr就是递减。
(6)incrby key num
---意思是找到key所对应的value,并将其增加num。
eg.
get key1
>>10
incrby key1 10
>>20
还有许多常用命令,可以自己参考,这里不做详细描述。
3.Sting
若要使用redis存取对象应该怎么存储?
首先将对象先进行存储,再进行更新。
对象---》将对象变为json格式(String)---》redis
但是这种方法存在问题,若该对象有多个属性,但是只更新其中的一个属性,这样子再将其全部json化,并进行存储,仍然会造成资源浪费,而hash则很好的解决了这个问题。
4.散列(Hash)
其是hash相当于java中的map(HashMap),hash叫做散列类型。
一般应用于将redis作为分布式缓存,存出数据库中的数据对象。
注意字段值只能是String类型。不能是其他类型。
常用命令:
(1)hset/hget:用来存取和取值
eg。
存值:
hset user username zhangsan
hset user password 123456
hset user age 20
取值:
hget user username
>>"zhangsan"
hget user age
>>"20"
(2)hmset/hmget:用来批量存储/取值
hset只能进行一个一个存取值,较为麻烦,因此选用hmset进行批量存储;hmget用来批量取值。
eg.
存值:
hmset user username zhangsan password 12345 age 20
取值:
hmget user username password age
(1)"zhangsan"
(2)"12345"
(3)"20"
(3)hgetall :用来读取对象的所有的属性值
eg.
hgetall user
(1)"zhangsan"
(2)"12345"
(3)"张三"
(4)"20"
(4)hdel:用来删除某个对象的某一个属性:
eg.
hdel user username
hget user username
>>(nil)---------------------这个表示为空的意思
5.List 类型
1.ArrayList与LinkedList的区别
ArrayList是基于数组去实现的,而LinkedList是基于双向循环链表实现的。
ArraytList是方便查询,LinkedList是方便于增加,删除,修改的。
2.redis中的list
redis中的list是通过LinkedList双向循环列表实现的。但是与其说是linkedList列表不如说其实是一个桟来实现的redis。
常用命令:
(1)LPUSH key value [value....]
------向列表的左边增加元素
(2)RPUSH key value[value.....]
------向列表的右边增加元素
(3)LRANGE key start end
------获取列表中的某一段片段,将返回start,stop之间的元素,包含两端的元素,索引从0开始,若为-1表示最后一个。
(4)LPOP key
------从列表的左端弹出一个元素
(5)RPOP key
------从列表的右端弹出一个元素
6.set集合
set是无序无重复的,而list是有序有重复的,这里redis中的set集合同样也是无序无重复的。
常用命令:
(1)SADD key member [member.....]
-----向集合中指定的key中增加元素
(2)SREM key member [member...]
-----向集合中指定的key中删除元素
(3)SMEMBERS key
-----查看集合中指定的key中所有的元素
(4)SISMEMBER key member
------判断元素是否在集合中,无论集合中有多少个元素都可以极速返回结果
------若存在返回1,不存在返回0
7.有序集合zset
有序集合是sorted set但是我们将其称为zset是因为,在redis中有序集合的命令是以z开头的。
常用命令:
(1)ZSET key score member [score member]
------该命令的意思是将key值所对应的member值设置一个score,在之后的存取中会按照score对其进行排序。
eg.
zset user 90 username 80 age
(2)ZSCORE key member
-------该命令的意思是获取key所对应的member中的score属性。
(3)ZREM key member [member]
-------移除有序集合的key所对应的一个或者多个成员
阅读全文
0 0
- redis 数据类型
- Redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis数据类型
- redis数据类型
- Redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis:数据类型
- redis数据类型
- Redis数据类型
- redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis 数据类型
- redis数据类型
- redis 数据类型
- VS2013序列号
- Eclipse版本
- 【HDU
- Android 7.0之JobScheduler 分析(一)——如何使用job
- 20171019模拟赛爆炸记
- Redis数据类型
- SpringMVC处理模型数据
- 手机移动网站自适应高度,手机网页图片自适应大小
- Java:求实数的绝对值
- [BZOJ3932][CQOI2015]任务查询系统 主席树
- Sophus 李群 --[SO3]
- 数据结构|链栈的实现(实验3.2)
- day02-持久层代码抽取
- 爬虫的综合案例