文档章节

redis 学习笔记(未完)

drewin
 drewin
发布于 2013/09/01 22:12
字数 1380
阅读 115
收藏 5


1,not only sql;

2,非关系型数据库。

3,特点:

key=>value形式对数据进行存储,比如:jsonarray

水平可扩展的??什么意思?

4,

  1. 下载源码包:redis.io

  2. 解压缩:tar –zxvf redisxxxx

  3. cd redisxxx

  4. make //如果没有gcc编译器,请安装gcc yum install gcc

  5. cp redis.conf /etc

  6. cd src cp redis-benchmark redis-cli redis-server mkreleasehdr.sh redis-check-aof redis-check-dump redis-sentinel /usr/bin/

  7. cd /usr/bin / redis-server /etc/redis.conf ps –ef | grep redis

  8. ps –ef | grep redis

  9. redis-cli

10,redis-cli shutdown

5,数据类型:string,hash.list,set zet;

sring:二进制安全的,可以包含任何数据,比如图片或者序列化数据。


6,操作方法

字符串操作:

set name wanghongli 同一个键只能有一个

exists mykey 判断某个键值是否存在。存在返回1,不存在返回0

setnx 如果key存在返回0 ,不覆盖。

setex 指定key value 的有效期 过期则返回空(nil) set name 10(s) wanghongli

setrange name 6 gmail.com 设定name字符串从第六个开始替换成gmail.com 成功返回的是修改后字符串的个数。

mset 成功ok 失败 0 mset key1 wanghongli key2 wanghongli2 key3 wanghongli3; 设置多个键值 key value key value

msetnx 成功ok 失败0 mset key1 wanghongli key2 wanghongli2 如果有一个存在,那么设置就会失败。


get key 获取字符串的值。

getset key value 设置新值,返回旧值。 Getset name wanghongli

getrange name 0 5 返回值得05的字符串。

mget key1 key2 key3

incr key5 将值加1 返回。设置某一个键

incrby key5 5 自增5

Decr key5 自减

Decrby key5 10; 自减10

append 给指定的key追加value append key_name .net

strlen strlen name 返回值得长度。

hash数据类型

是一个string类型的field value的映射表。特别适用于存储对象。减少内存,方便存取整个对象。

hset设置一个hash表。 Hset user:001 name wanghongli

hsetnx hsetnx user:001 name ‘wanghongli’

hmset 批量设置 hmset user:003 name wanghngli age 25 sex 1

hget user:001 name

hmget user:003 name age sex

hincrby hincrby user:003 age 20

hexists user:003 name 成功返回1

hlen 返回hash中字段数量 hlen user:003

hdel 删除字段 hdel user:003 age

hkeys 查看字段 hkeys user:001

hvals 返回hash表中所有的value hvals user:001

hgetall 获取某个hash中全部的key value

list类型

是一个链表,主要功能是push:向链表中压入元素。Pop 弹出一个元素。Redislist类型其实就是一个每个子元素都是string类型的双向列表,list既可以作为栈,也可以作为队列。

lpush 从头部压入一个元素

lrange listname 0 -1 从头第一个元素到尾的第一个元素。

rpush尾部压入一个元素。rpush list2 ‘wanghongli’ rpush list2 ‘helloworld’ 先进先出

lrange 0 -1

linsert key对应的特定位置前或后添加字符串。

linsert list1 before world hello world前面插入一个hello元素。

lset 设定list中指定下标的元素值。lpush list1‘hello’ lset list1 0 ‘world’ lrange 0 -1;

lrem key对应的list 中删除n个和value相同的元素。(n<0 从尾删除,n=0全部删除)

lrem list5 1 ‘hello’ list5中删除一个和hello相同的值。

ltrim:保留指定key的值范围内的数据。

rpush list8 ‘one’ rpush list8 ‘two’ ltrim list8 1 -1 保留下来的顺序。

lpop list头部删除一个元素,并返回删除的元素。Lpop list_name 相当于php中的array_pop(array_name);

rpop : list尾部弹出一个元素,并返回弹出的元素 rpop list_name

lpush:从头压入元素

rpush

rpoplpush :从列表尾部移除元素,从头部添加元素。

Rpoplpush mysqllist5 mysqllist6 mysqllist5 尾部弹出元素,压入到mylist6 头部

lindex 返回名称为keylistindex位置的元素。 Lindex mylist1 1;

set类型:无序集合,不允许重复。

sadd 向集合中添加一个元素。sadd myset “hello”

smembers myset1 查看集合中又那些元素

srem myset1 “wangholngli” 删除集合中的一个元素。

spop 从集和里面随机的弹出一个元素 spop myset

sdiff 两个集合的差集 sdiff myset1 myset2 以第一个集合为标准。

sdiffstore 将返回回来的差集存储到另外一个集合里面 sdiffstore myset3 myset1 myset2

sinter 返回交集 sinter myset1 myset2

sinterstore 将交集存储到另外一个集合里面。sinter myset6 myset1 myset2

sunion 返回集合的并集。sunion myset1 myset2

sunionstore 返回集合的并集,并存储到另外一个集合里 sunionstore myset3 myset1 myset2.

smove 将一个集合中的元素,移动到另外一个集合中去。myset myset1 myset2 “hello” myset1 “hello” 移动到myset2中去。

scard 查看集合中元素个数。scard myset1 返回的是集合中的元素的个数。

sismember myset1 “hello” 判断某个元素是否为集合中的元素。成功1 失败0

srandmember myset1 随机返回一个元素,但不删除。

sorted sort 有序集合:set集合的升级,加了一个顺序属性。一列存value 一列存sort

zadd 集合中添加一个元素 zadd myset 1 one 1 是顺序值

zrange myset1 0 -1 withscores 读取集合中的元素,按照排序。

zrevrange myset1 0 -1

zrem zrem myset1 “wanghongli” 删除集合中的元素。

zincrby zincrby sset1 2 one 将集合中one元素的key增加2 是对顺序号进行增加。

zrank 按下标排序 ,返回一个元素的索引值 zrank myset3 “helloworld”

zrevrank 降序排序,在返回索引。

Zrangebyscore zrangebyscroe myset1 2 3 [withscores]

zcount 返回集合中score在给定区间内的数量。zcount sset 2 4

zcard set2 返回集合中元素的总格数。

zremrangebyrand 删除 按索引删除。

zremrangebyscroe 按顺序删除元素。

7




© 著作权归作者所有

共有 人打赏支持
drewin
粉丝 28
博文 121
码字总数 43979
作品 0
海淀
程序员
私信 提问
Spring.NET学习笔记——目录(原)

目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基础篇) Level 200 Sprin...

长平狐
2012/06/11
913
1
Lind.DDD.Repositories.Redis层介绍

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

mcy247
2017/12/07
0
0
《Redis in action》读书笔记

https://www.gitbook.io/book/abcfy2/redis-in-action-reading-notes 最近在学习redis,正在看这本书,以笔记的形式记录下这本书,方便以后翻阅。 这本书介绍很不错,入门很值得参考,图文并...

Feng_Yu
2014/09/27
0
0
win10 64位安装redis 及Redis Desktop Manager使用

1.下载 redis官方没有64位的Windows下的可执行程序,目前有个开源的托管在github上, 地址:https://github.com/ServiceStack/redis-windows 点击这个地方,下载文件并解压到自己的电脑目录下...

楠木楠
2016/12/10
3K
0
Systemd 学习笔记

这两天在配单机多redis实例,发现配好之后在ubuntu15.10上无法自启,看来用sysvinit的方式不灵了,顺便研究了一下systemd,发现这东西挺好使的,不但支持服务自启,还支持job,可以替换cront...

jim19770812
2016/02/13
197
0

没有更多内容

加载失败,请刷新页面

加载更多

高度可配置的 Linux 内存守护程序 Nohang!

部分功能特性 具有良好注释的配置文件,配置方面(配置中有 38 个参数) 可以将 SIGKILL 和 SIGTERM 作为发送给 victim 的信号 支持 zram(使用 mem_used_total 作为触发器) 可定制的监控强...

linuxCool
4分钟前
0
0
开源 java CMS - FreeCMS2.8 数据对象 unit

项目地址:http://www.freeteam.cn/ unit 在使用单位相关标签时,标签会封装unit供页面调用。 属性 说明 id id ismail 是否接收互动信件 name 名称 parid 父单位id isok 是否有效 ordernum 排...

freeteam
11分钟前
0
0
awk

awk awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是...

李超小牛子
22分钟前
0
0
扩展资源服务器解决oauth2 性能瓶颈

用户携带token 请求资源服务器 资源服务器拦截器 携带token 去认证服务器 调用tokenstore 对token 合法性校验 资源服务器拿到token,默认只会含有用户名信息 通过用户名调用userdetailsserv...

冷冷gg
54分钟前
21
0
[Git] Git整理(四) git rebase 的使用

概述 在之前总结分支相关内容时说道,合并两个分支的提交可以使用git merge,然而除了这种方式之外,还有一种方式就是使用git rebase,这两种方式的最终结果都相同,但是合并历史却不同;git...

天王盖地虎626
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部