文档章节

redis的学习和使用

许兆磊
 许兆磊
发布于 2016/04/03 20:37
字数 1117
阅读 342
收藏 10

最近自己学习redis,把学习过程中的一些细节整理了一下:

redis 安装:  默认端口是6379
   # cd /usr/local/src
   # wget http://download.redis.io/releases/redis-3.0.7.tar.gz
   #tar zxvf redis-3.0.7.tar.gz  
   # cd redis-3.0.7/
   #ls
   redis目录的文件
   这里写图片描述
   #make ##redis的源码默认是./configure 所以可以直接安装,不用担心路径问题,redis 提供了相关的支持,在make install 的时候指定PREFIX=/usr/local/redis 即可。注意PREFIX 一定是大写
   *make 完成后提示 Hint: It’s a good idea to run ‘make test’ ;)  最好make test 一下
   #make test  
   * 提示如下,需要安装tcl  
   cd src && make test
   make[1]: Entering directory /usr/local/src/redis-3.0.7/src'
   You need tcl 8.5 or newer in order to run the Redis test
   make[1]: *** [test] Error 1
   make[1]: Leaving directory
/usr/local/src/redis-3.0.7/src’
   make: * [test] Error 2
   [root@localhost redis-3.0.7]#  
   *
   #yum install tcl ## 此处用yum 源安装的
   #make test  ##
   …
   #make PREFIX=/usr/local/redis install  
   …

redis 启动服务和客户端:

 首先拷贝配置文件到安装目录下:
 #cd /usr/local/src/redis
 #cp redis.conf   /usr/local/redis
 #./bin/redis-server ./redis.conf : 启动成功 默认是控制台显示启动信息的,如果需要改成后台启动需要改动配置为那文件(redis.conf 文件的daemonize 为yes  )
 #./bin/redis-cli  启动客户端
 #ps -ef |grep redis (显示如下信息, redis 启动成功 
 [kssadmin@localhost redis]$ ./bin/redis-cli
 127.0.0.1:6379> keys *
 (empty list or set))
 #kssadmin  19922      1  0 20:12 ?        00:00:00 ./bin/redis-server *:6379
 #kssadmin  19931  19696  0 20:12 pts/0    00:00:00 grep --color=auto redis
 ***redis 类型支持:***
 set  key value /get key  设置、获取 字符串  mset key1 values1
 key2 value2  key3 values3
 flushdb :清空数据库  清空当前所指向的数据库实例  如 0 ,1 ,2  默认的是 0 
 ex/px   》》 秒/毫秒   毫秒的情况下更精确的看到值得过期时间
 nx/xx  >> 不存在设置/存在设置  :分别是根据key是否存在的情况下 来设置键值对
 set key value [ex 秒数] || [px  毫秒数]  /[nx 不存在的时候才设置] |[xx 当键存在的情况下才更新]
 set site www.baidu.com  ex 10  nx  ://设置 site的值为 www.baidu.com 过期时间为10 S  nx :指现有库中不存在site的时候才设置当前的site值
 set site www.baidu.com  px 10000 nx  :与上面基本一样,只是用毫秒来设置的
 set site www.baidu.com ex 10  xx  :当库中存在的时候才设置当前site节点的值,value为www.baidu.com  过期时间为10 秒,
 set site www.baidu.com ps 10000 xx : 与上面类似,当库中存在的时候才设置site节点的是,value为www.baidu.com 过期时间为10000毫秒 //
 mset /mget  : 多键值对操作 一次性设置多个  和一次性获取多个 
 m==muilt  多个的意思
 mset key value key value  key value : 设置多个键值对
 mset name  seven age 26 sex 1 :一次性设置多个键值对 名称  年龄 性别
 mget  name  age  sex : 根据key 一次性获取逗哥value 名称 年龄 性别
 setrange key index value  :替换目标key所对应的值,从索引index开始,替换内容以此递归为 value 的内容  *** 如果index 超出key对应value 的长度用0x00来补全,以此替换 代码如下:
 127.0.0.1:6379> set word hello 
 OK
 127.0.0.1:6379> get word
 "hello"
 127.0.0.1:6379> setrange word 9 xxxx
 (integer) 13
 127.0.0.1:6379> get word
 "hello\x00\x00\x00\x00xxxx"
 append key  value  : 追加内容到key 对应的value 的最后面
 getrange key  start  stop : 获取目标key  对应value的一段内容 其实坐标start 终止坐标为stop  : 当stop获取内容坐标过大的时候 即获取全部内容位置 不额外增加内容 
 注意: 
 1: start>=length, 则返回空字符串
 2: stop>=length,则截取至字符结尾
 3: 如果start 所处位置在stop右边, 返回空字符串
 incr /decr  key : 递增和递减 
 set age 30 
 incr age :31
 decr age :30 
 incrby/decrby   key  number : 按照给定number来递增和递减
 incrby/decrby  age 30:按照给定的数字来增减
 incrbyfloat  key number

 list     :列表
 set     :无序的集合
 order set :有序的集合
 hash    : hash
 继续学习,后续补充。。


© 著作权归作者所有

许兆磊
粉丝 1
博文 6
码字总数 5655
作品 0
海淀
私信 提问
Redis 学习路线

学习和使用 Redis 一般可以分为以下四个阶段: 初学者入门 进阶实战 理解原理 贡献和开发 本文接下来将在四个小节里面分别对这四个阶段进行介绍。 初学者入门 如果你只是对 Redis 感兴趣, ...

JackFace
2016/06/17
212
0
Lind.DDD.Repositories.Redis层介绍

之前已经发生了 大叔之前介绍过关于redis的文章,有缓存,队列,分布式pub/sub,数据集缓存以及仓储redis的实现等等,而今天在Lind.DDD的持久化组件里,redis当然也有一席之地,作为当今最红...

mcy247
2017/12/07
0
0
redis学习笔记(一)之安装测试

以前比较懒,虽说都用redis,但大都是别人部署好后进行简单的使用,最近项目上线,时间较空,所以想在系统的学习一下redis,顺便也能熟悉熟悉linux系统(linux小白,也是正在学习阶段,如果有...

憨豆公子
2016/08/08
41
0
springboot cache redis 缓存

上一节学习spring的cache缓存,介绍了spring缓存的基础: https://my.oschina.net/silenceyawen/blog/1555996 现在学习使用redis实现缓存: 1. 指定provider可以使用配置: 2. redis在这里充...

yawnSilence
2017/10/26
84
0
Redis 开源文档《Redis设计与实现》

Redis是运用比较广泛的NoSQL产品之一,目前的稳定版本是2.6.10,包括Github、Instagram、Blizzard、新浪微博等都在产品中大量使用了Redis。其代码基于BSD协议开源,整个项目代码量只有2万多行...

桂荣
2013/03/14
7.1K
21

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 集成MongoDB

一、MongoDB 简介 MongoDB 如今是最流行的 NoSQL 数据库,被广泛应用于各行各业中,很多创业公司数据库选型就直接使用了 MongoDB,但对于大部分公司,使用 MongoDB 的场景是做大规模数据查询...

zw965
14分钟前
10
0
使用 Envoy 和 AdGuard Home 阻挡烦人的广告

> 原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器。这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题,比如: ...

米开朗基杨
48分钟前
14
0
springboot之全局处理异常封装

springboot之全局处理异常封装 简介 在项目中经常出现系统异常的情况,比如NullPointerException等等。如果默认未处理的情况下,springboot会响应默认的错误提示,这样对用户体验不是友好,系...

Purgeyao
58分钟前
22
0
cookie

cookie: n. 饼干;小甜点 为什么会引入Cookie(在客户端保持http状态) 因为http协议是一种无状态协议,web服务器本身不能识别出哪些请求是同一个服务器发送的,浏览器的每一次请求都是独立...

五公里
今天
23
0
PHP常用函数

<?php/** * 获取客户端IP * @return [string] [description] */function getClientIp() { $ip = NULL; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode('......

半缘修道半缘君丶
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部