redis存储的都是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构:
1)字符串类型 string
2) 哈希类型 hash : map格式
3) 列表类型 list : linkedlist格式。支持重复元素
4) 集合类型 set : 不允许重复元素
5) 有序集合类型 sortedset:不允许重复元素,且元素有顺序
上一篇说了如何启动redis,在启动redis后,我们需要打开客户端进行操作,
String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行储存,比如一张图片进行二进制储存,比如一个简单的字符串数值等等。
1.存储:set key value,其中key是username,value是张三。
2.获取:get key,想要获取值,是通过键key来获取的,如下:
3. 删除:del key
Hash类型是String类型的filed和value的映射表,或者说是一个String的结合,他特别适合存储对象。相比较而言把一个对象存储在Hash类型中要比直接存储在String中更加节省空间。并方便存储整个对象,Hash类型也是我们工作中最常用的一种。
1.存储:hset key field value,意思是将哈希表 key 中的字段 field 的值设为 value ,比如下图第一句是将哈希表myhash中的usename字段的值设为lisi。
2.获取:
1)hget key field: 获取指定的field对应的值。
2)hgetall key:获取所有的field和value
3.删除:hdel key field
可以添加一个元素到列表的头部(左边)或者尾部(右边)。
1.添加
1)lpush key value: 将元素加入列表左表
2)rpush key value:将元素加入列表右边
下面通过这个图来说明lpush和rpush,首先 创建的list列表两边是开的,当lpush元素a,从列表左边存入list,再lpushi元素b,把a往列表里面挤一位,存入b;rpush的操作相反,是从list列表右边进行,如图rpush元素c.
下面来进行存储操作:
2.获取: lrange key start end :LRANGE key start stop 获取列表指定范围内的元素
3.删除
1)lpop key:删除列表最左边的元素,并将元素返回
2)rpop key:删除列表最右边的元素,并将元素返回
无序集合,不允许重复。
1.存储:sadd key member1
2.获取:smembers key: 获取set集合中所有元素
3. 删除:srem key value:删除set集合中的某个元素
不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
1.存储:zadd key score1 member1 [ score2 member2]
2.获取:zrange key start end [withscores]
3.删除:zrem key value
下面在介绍几个通用的命令:
1)keys * : 查询所有的键
2)获取键对应的value的类型
3)删除指定的key value
关于redis的数据结构部分就介绍这么多啦,其实每种数据结构还有很多命令和操作方式,这里入个门就ok啦,有兴趣的小伙伴可以去redis中文官网去看看,里面有很多其它的内容哦。如果本篇内容能让你学到点东西的话,点个赞哈,另外如有错误之处欢迎留言指正。
下一篇将介绍redis数据库的持久化。