之前笔者常常接触的数据库是关系型数据库,其中MySQL接触居多。近年来NoSQL兴起,各种新型数据库不断诞生,redis就是NoSQL中的一种热门数据库。
  注:此类文章仅仅作为笔者的学习和阅读积累,若有出错之处,敬请谅解。

一、redis的数据类型

  对于redis数据库的介绍,这里就不说了,大家可自行百度,简单来说redis就是以“键值对”形式存储数据的数据库。首先作为一种数据库,对于存储的数据,其必然存在相应的数据存储类型定义,笔者先从redis的存储数据类型说起。
  redis数据库存在5种数据类型,分别为:字符串(String)、列表(list)、集合(set)、散列(hash)、有序集合(zset)。
 

(1)字符串

  字符串在redis甚至在各大数据库中,都作为最基本的数据类型,可存储的值包括字符串、整数或者浮点数。
  redis操作字符串数据常用命令:
命令
说明
基础用法
set
设置存储给定键的值
set [key] [value]
get
获取给定键的值
get [key]
del
删除给定键的值
del [key]
 

(2)列表

  可将redis的列表看作一种“双向队列”,该数据结构允许在其前后两端添加/删除元素。
  redis操作列表数据常用命令:
命令
说明
基础用法
lpush
将给定值插入列表前端
lpush [key] [value]
lpop
从列表前端弹出并返回一个值
lpop [key]
rpush
将给定值插入列表后端
rpush [key] [value]
rpop
从列表后端弹出并返回一个值
rpop [key]
lindex
获取列表给定索引上的单个元素值
lindex [key] [index]
lrange
获取列表给定范围中的所有元素值
lrange [key] [startIndex] [endIndex]
 

(3)集合

  redis和集合和列表都可存储多个字符串,区别在于列表可存储多个相同的字符串,而集合保证存储的元素的唯一性。集合存储元素的方式是无序的。
  redis操作集合数据常用命令:
命令
说明
基础用法
sadd
将给定元素添加进集合中
sadd [key] [value]
srem
删除集合中的给定元素
srem [key] [value] 
sismember
检查给定元素是否存在于集合中
sismember [key] [value]
smembers
返回集合中的所有元素
smembers [key]
 

(4)散列

  redis的散列的值可以存储多个键值对的映射,键无序且不可重复。
  redis操作散列数据常用命令:
命令
说明
基础用法
hset
将给定的键值对添加到散列中
hset [key] [field] [value]
hget
获取指定散列键的值
hget [key] [field]
hdel
删除散列中指定的键(连带值)
hdel [key] [field]
hgetall
获取散列中的所有键值对
hgetall [key]
 
 

(5)有序集合

  有序集合和散列一样用于存储键值对信息,键和散列的要求一样,不同的是有序集合的值被称为“分值(score)”,分值必须是浮点数。有序集合既可以根据键访问成员,也可以根据分值来访问成员。有序集合的键值对按照分值大小进行排序。
  redis操作有序集合数据常用命令:
命令
说明
基础用法
zadd
将给定键值对添加到集合中
zadd [key] [score] [field]
zrem
删除集合中指定的键(连带值)
zrem [key] [field]
zrange
获取集合中指定索引范围的键值对
zrange [key] [startIndex] [endIndex](可选“withscores”参数输出分值)
zrangebyscore
获取集合中指定分值范围的键值对
zrangebyscore [key] [minScore] [maxScore]
 
 

  关于五种数据类型以及Redis的更多操作命令,可到此网站下进行查询和了解。

最新文章

  1. bzoj1008快速面
  2. Unity3D 5.x 简单实例 - 发射炮弹
  3. 深入理解JavaScript中创建对象模式的演变(原型)
  4. 介绍开源的.net通信框架NetworkComms框架之二 传递类
  5. SQL SERVER2012中使用游标来备份数据库
  6. Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用
  7. Spring配置JNDI的解决方案
  8. scala学习笔记(1)
  9. RHCE7.0练习题汇总[转]
  10. TestNG:org.openqa.selenium.firefox.NotConnectedException: Unable to connect
  11. 用标准C编写COM(一)
  12. Mysql安装详解
  13. [置顶] html学习笔记,锚点,超链接,table布局,表头,h,sub,blockquote,ul,li,ol.dl,加入收藏,打印,弹出窗口
  14. React 入门最好的实例-TodoList
  15. Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP
  16. 深度拾遗(06) - 1X1卷积/global average pooling
  17. WIN10 拨号连接下 如何开启移动热点
  18. IDEA调用其它模块module的类方法
  19. Spark数据分析-记录关联问题
  20. Spring重要注解@ControllerAdvice

热门文章

  1. Selenium 八种元素定位方法
  2. Thift初探 (一)
  3. 教你阅读 Cpython 的源码(一)
  4. Kettle中ETL的效率优化
  5. Java判断整数溢出
  6. OpenJudge计算概论-奥运奖牌计数
  7. [C#]加密解密 MD5、AES
  8. SIT测试 和 UAT测试
  9. osg 在场景中绘制坐标轴(xyz)
  10. Arduino---HC-05 蓝牙模块