Redis-Nosql数据库入门
简介
Redis是Nosql数据库的一种,可基于内存亦可持久化的日志型、是一个Key-Value数据库,多用在缓存方面
安装
Windows
下载地址, 最新版本的Redis好像仅支持64位
Windos下载Redis文件后直接解压启动
redis-server.exe即可,下图所示即启动成功

- 然后这个cmd窗口不要关闭,启动同一目录下的
redis-cli.exe出现下面的窗口即服务端连接成功

Linux
安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++
redis的源码包上传到linux系统。
解压缩redis。
编译。进入redis源码目录。执行指令:make
安装。make install PREFIX=/usr/local/redis 其中 PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下
基本的安装到这里已经完成
redis的启动
前端启动:在redis的安装目录下直接启动redis-server ,
[root@localhost bin]# ./redis-server后台启动
把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/修改配置文件
daemonize yes然后启动redis[root@localhost bin]# ./redis-server redis.conf这种启动方式为指定配置文件的启动方式
查看redis进程
[root@localhost bin]# ps aux|grep redis会显示两行, 一行为redis进程 一行为查询语句的进程
redis 客户端连接
[root@localhost bin]# ./redis-cli默认连接localhost运行在6379端口的redis服务,连接本地服务。[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379-h:连接的服务器的地址-p:服务的端口号
redis内的五种数据类型
redis是一个key-value数据库, 即通过key可以取到存储的value类型的数据 , 下面是五种类型
redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。
key-value(键值对)

下面是几种常用的命令
get() 通过key获取value
set() 设置key,value
getset() 先取到这个key的value然后再设置value
del() 删除key
appen() 拼接字符串
key-fields-values(Hash)
下面是hash的存储结构

使用示例 在实例中,我们设置了 redis 的一些描述信息(name, description, likes, visitors) 到哈希表的 runoobkey 中。

常用命令
hset key field value // 存储
hmset key field value field2 value..... // 存多个
hget key field // 取值
hmget key field field2 field3..... // 取多个
hgetall key // 取出全部
hdel key field field2 // 删除多个
del key // 删除整个hash
incrby key field incrument // 增加值
hexists key field // 判断指定key中的field是否存在
hlen key // 获取key中包含的field
hkeys key // 获取所有的key
hvals key // 获取所有的value
hlen key // 找到对应的key的长度
list(队列)
存储结构, 这个存储结构可以两端都可以进行插入和删除

使用示例, 在实例中我们使用了 LPUSH 将三个值插入了名为 runoobkey 的列表当中。

lpush key values[value2 ..] // 从左边压
rpush key values[value2 ..] // 从右边压
lrange key start end // 从左边取
lpop key // 左边弹栈(移出并且取出)
rpop key // 左右弹栈(移出并且取出)
llen key // 返回list长度
lpushx key value // 如果key存在,则向头插入,不存在,则不进行
lrem key conunt value // 从左往右删除conunt个value的,count<0 则为从右往左 , 等于0 删除所有value元素
lset key index value // 在位置index插入值,0代表头,-1代表尾
set 存储结构和list相同,不过不允许有相同的元素,并且只能从一端来进行操作,并且set内的元素没有顺序
使用示例,在实例中我们通过 SADD 命令向名为 runoobkey 的集合插入的三个元素。

常用操作
sadd key values[...] // 添加多个元素
srem key members[...] // 删除多个
sismember key member // 检查元素是否存在
smembers key // 查询
sdiff key1,key2... // 求key1 和 key2的差集
sinter key1,key2 ... // 返回key1和key2的交集
sunion key1,key2 ... // 返回key1和key2的并集
scard key // 获取key中的长远数量
srandmember key // 从key中随机获取一个值
sortedset,有序的set,排序方式根据权重来排序 所以在添加元素的时候需要给每个元素设置一个权重
使用示例 在实例中我们通过命令 ZADD 向 redis 的有序集合中添加了三个值并关联上分数。

基本操作
zadd key score member score2 member2 // 添加成员
zrange key start end // 获取集合角标 start - end的元素
zrange key start end withscores // 获取集合角标 start - end的元素 , 并且按照权重排序
zcard key // 获取成员数量
zscore key member // 返回指定成员变量的权重
zrevrange key start end withscore // 按照分数从大到小返回
zremrangebyrank key start stop // 按照排名范围删除元素(从小到大)
zremrangebyscore key min max // 按照分数范围删除元素
zrangebyscore key min max [withscores][limit offset count] // 返回分数在min-max范围内的数,从高到低 limit: 表示从offset下标元素开始并返回count个成员变量
zincrby key increment member // 指定成员变量增加的分数
zcount key min max // 返回分数在min - max内的成员
zrank key member // 返回成员在集合中排序(从小到大)
zrevrank key member // 返回成员在集合中排序(从大到小)
上面就是redis中的五种数据结构,可以根据业务具体需求来选择对应的机构
通用操作
kess pattern // 筛选 * 表示任意一个或多个字符 ? 表示任意一个
del key1,key2.. // 删除指定key
exists key // 判断key是否存在
rename key newkey // 为当前key重命名
expire key number //设置过期时间(单位:秒)
ttl key // 获取该key所剩的超时时间, -1 : 没设置超时 -2:key不存在
type key // 获取key的类型
flushall // 删除所有数据库中的key
redis的可视化工具 RedisDesktopManager 官方网站下载即可, 打开软件输入host地址就能连接,进行可视化操作

redis在java上的工具类 jedis 可以参照api进行使用 , 使用方式和jdbc相似.
我的博客即将同步至腾讯云+社区,邀请大家一同入驻。
Redis-Nosql数据库入门的更多相关文章
- Redis - NoSQL数据库技术(一)
NoSQL入门概述(一) 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 什么是NoSQL NoSQL(NoSQL - Not Only SQL),意“不仅仅是SQL”: 泛指非关系 ...
- redis缓存数据库入门教程
入门redis教程 前言: 应公司需求,最近学习了一下redis数据库的一些简单入门的教程,整理出来分享给大家,喜欢的可以关注和点赞哦~ 如文章中有不足之处求指正,谢谢 目录 ·什么是redis?为什 ...
- Redis Nosql数据库
Redis是一个key-value存储系统.和Memcached类似.可是攻克了断电后数据全然丢失的情况.并且她支持很多其它无化的value类型.除了和string外,还支持lis ...
- 一篇文章带你了解NoSql数据库——Redis简单入门
一篇文章带你了解NoSql数据库--Redis简单入门 Redis是一个基于内存的key-value结构数据库 我们会利用其内存存储速度快,读写性能高的特点去完成企业中的一些热门数据的储存信息 在本篇 ...
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...
- NoSql数据库简介及Redis学习
NO-Sql数据库:Not Only不仅仅是SQL 定义:非关系型数据库:NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固 ...
- 性能超越 Redis 的 NoSQL 数据库 SSDB
idea's blog - 性能超越 Redis 的 NoSQL 数据库 SSDB 性能超越 Redis 的 NoSQL 数据库 SSDB C/C++语言编程, SSDB Views: 8091 | ...
- NoSQL:redis缓存数据库
一 Redis介绍 Redis和Memcached类似,也属于key-value nosql 数据库 Redis官网redis.io, 当前最新稳定版4.0.1 和Memcached类似,它支持存储的 ...
- 项目实战11—企业级nosql数据库应用与实战-redis的主从和集群
企业级nosql数据库应用与实战-redis 环境背景:随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红包 ...
- 企业级nosql数据库应用与实战-redis
一.NoSQL简介 1.1 常见的优化思路和方向 1.1.1 MySQL主从读写分离 由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力.读写集中在一个数据库上让数据库不堪重负,大部 ...
随机推荐
- (转)log4j使用介绍
原文出自: log4j使用介绍 日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录.以下是个人经验,具体请参考Log4j文档指南. Log4j ...
- Windows下Mysql5.7开启binlog步骤及注意事项
1.查看是否开启了binlog:show binary logs; 默认情况下是不开启的. 2.开启binlog:修改mysql的配置文件my.ini.添加如下配置: 该文件默认不允许修改,需要右键“ ...
- MySql sql按时间分组
select DATE_FORMAT(f.upload_time,'%Y%u') weeks,count(*),sum(p.download_times),sum(p.collection_times ...
- SrpingDruid数据源加密数据库密码
前言 在工作中遇到这样一个问题:开发过程中将数据库的账号.密码等信息配置在了一个单独的properties配置文件中(使用明文).但运维人员要求在配置文件中的密码一律不得出现明文. 环境 Spring ...
- 探究Angular依赖注入对象$injector
$injector其实是一个IOC容器,包含了很多我们通过.module()和$provide创建的模块和服务.$injector服务提供了对依赖注入器对象的访问,当然我们也可以调用angular.i ...
- Ubuntu上64位adv无法创建问题
Ubuntu上安装android开发环境,前面都成功了,但到了最后创建adv的时候却总是失败. 出现了这个问题.最后,上网找了这个教程http://blog.sina.com.cn/s/blog_66 ...
- 如何在 Apple TV 上使用描述文件
您可以使用 OS X 上的 Apple Configurator 在 Apple TV 上安装配置描述文件. 开始前,请在 Mac 上安装最新版本的 Apple Configurator(如果尚未安装 ...
- centos 6.9安装zabbix 3.0
Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...
- 定制rpm包---Yum环境搭建
1.1 在yum服务器上创建yum仓库命令 mkdir -p /application/nginx/html/yum cd /application/nginx/html/yum rz #上传rpm包 ...
- 对比jquery获取属性的方法props、attr、data
1.attr,prop 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法.对于自定义的属性是取不到的: 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 2.a ...