redis notes

brew install redis

redis-server

select 0/1/2/3

set name ‘name‘

set user:1 ‘name‘

string

set

get

append keyname appendvalue

getrange keyname rangestart rangeend

setrange keyname rangestart value

getset keyname value

mset(m means multi) key value key value

mget key key key

incr key

decr key

incrby key step

deincrby key step

incrbyfload key floatvalue

setex key ttl value

psetex key ttl value // ttl is milliseconds

setnx key value

msetnx key value key value

strlen key

list

lpush listname value value value //l means left

rpush listname value value value //r means right

lpushx

rpushx

len listname //list length

lrange listname start end

lrange list 0 -1 //get all the list items

lpop listname

rpop listname

lrem listname numters to remove removevalues

for example:

lrem colors 2 green

lrem also can remove items backwards,for example:

lrem colors -2 green wlll remove items in colors from bottom to the top

linsert listname before value insertvalue

linsert listname after value insertvalue

Notice: redis commands also can be upper case ,for example:

LINSERT colors AFTER "yellow" "purple"

lindex listname index

lset listname index value

ltrim listname start end

rpoplpush listname otherlist

blpop listname time

brpop listname time

brpoplpush list list 0

hash

hset hashname keyname keyvalue

hget hashname key

hgetall hashname

hkeys hashname

hvals hashname

hexists hashname keyname

hincrby hashname key step

hincrbyfloat hashname key floatvalue

hlen hashname

hmget hasnname key key

hmset hashname key value key value

hsetnx hashname key value

hdel hashname key

set

sadd setname value value value

srem setname value

smembers setname

sismember setname value

scard setname

srandmember setname

spop setname

sdiff set1 set2

sdiffstore newset set1 set2

sinter set1 set2

sinterstore newset set1 set2

sunion set1 set2

sunionstore newset set1 set2

smove  fromset toset value

sorted set

zadd sortsetname weight value weight value weight value

zcard sortedsetname

zrange sortedsetname start end [withscores]

zrevrange sortedsetname start end [withscores]

zrangebyscore sortedsetname lowscore heighscore [withscore]

zrevrangebyscore sortedsetname heighscore lowscore [withscore]

zincrby sortedsetname score value

zscore sortedsetname value

zrank scortedsetname value

zrevrank sortedsetname value

zcount sortedsetname startscore endscore

zrem sortedsetname value

zremrangebyscore sortedsetname startscore endscore

zremrangebyrank sortedsetname startrange endrange

keys *user

exists key

type key

del

move key dbindex

expire key secondstoexpire

pexipre key sendstoexpire

expireat key timestamp

pexireat key timestamp

ttl

pttl

persist key

randomkey

rename

renamenx

sort

sort listname

sort listname limit from to

sort listname desc

sort listname desc limit from to

sort listname desc limit from to store listname

sort listname alpha

lrange medals 0 -1

third

second

first

keys medal:*

medal:third

medal:first

medal:second

hgetall medal:first

medal

gold

position

1

hgetall medal:second

medal

sliver

position

2

hgetall medal:third

medal

bronze

position

3

sort medals  by medal:*->position

sort medals  by medal:*->position get medal:*->medal

publish and subscribe commands

subscribe channelname channelname

publish channelname message

psubscribe a* //pattern subscribe

unsubscribe channelname channelname

punsubscribe channelpattern

transaction

multi

command

command

exec

discard //cancel the transaction

administration

redis.conf

daemonize yes

port 8888

loglevel  debug/verbose/notice/warning

logfile   /var/log/redis.log

save  howofentosave//seconds  howmanychanges

save 3000 1

requirepass password

rename-command config othercommandname

maxclients   8     //number of redis clients

slaveof localhost 6379

slave-read-only no

LUA scripting

validate lua script

eval "lua script" 0

i,e eval "return 1 + 1 " 0

eval "return redis.call(‘get‘,‘age‘)" 0

eval "return redis.call(‘get‘,keys[1])" 1 age

eval "return redis.call(‘get‘,keys[1]) - ARGV[1]" 1 age 2.5//simulate a decrbyfloat function

eval "redis.call(‘set‘,KEYS[1],redis.call(‘get‘,keys[1]) - ARGV[1])" 1 age 2.5//simulate a decrbyfloat function

11 common web use cases solved in redis

highscalability.com/blog/2011/7/6/11-common-web-use-cases-solved-in-redis.html

时间: 2024-11-08 19:07:39

redis notes的相关文章

redis缓存数据库

缓存数据库介绍 redis操作 缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展.NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题. NoSQL数据库的

缓存数据库redis

什么是Redis? Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应. 服务器处理命令并将响应发送回客户端. Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库,缓存和消息中间件.它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询,

自学总结redis第一部分(简介、虚拟机配置、安装、配置、连接方式、密码设置)

Redis学习部分 一.NoSql简介 NoSql泛指非关系型数据库. 更多简介请见 "http://baike.baidu.com/link?url=sYV3qpYWs3RDlz1RZbVP18luQwubYrboLUt2qRDhSJrhctvLL1tYBtDFf736ypSocpnmZE5eLvyYzd34k5T2xa" 1.1NoSql数据库的四大分类 键值(key-value)存储数据库:这一类数据库主要会使用一个哈希表,这个表中有一个特定的键和一个指针执行特定的数据.Key/

[python]缓存函数结果进redis

工作中遇到一个问题,就是有一些需要对数据库做全表扫描,而且对结果要求比较宽松的地方,总觉得可以找地方优化,比如暂时保存计算结果. 首先想起来的就是functools.lru_cache,但是可惜在python2.7中没有这个装饰器. 然后就是在stackoverflow找了一个: (来源:https://stackoverflow.com/questions/11815873/memoization-library-for-python-2-7) 1 import time 2 import f

mongodb,redis,hbase三者的定位和区别

Nosql = Not only SQLmongodb:我觉得定位是取代关系型数据库,想当一个主流数据库.因为他有非结构化.方便扩充字段.写性能优于mysql.万事万物有利有弊,mongodb的内存型缓存内容,让其速度飞快,带来内存率多,掉电数据问题等,加上自身代码还有很多bug带来不如老牌关系型数据库稳定,特别是在主从等分布式环境,其设计也带来诸多问题.redis:是一个小而美的数据库,主要用在key-value 的内存缓存,读写性能极佳,list,set,hash等几种简单结构使得使用也很简

nginx tomcat负载均衡 使用redis session共享

环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

Spring Boot 1.4.0 Release Notes 更新日志-02

Spring Framework 4.3 Spring Boot 1.4 builds on and requires Spring Framework 4.3. There are a number of nice refinements in Spring Framework 4.3 including new Spring MVC @RequestMapping annotations. Refer to the Spring Framework reference documentati

Redis安装配置与Jedis访问数据库

一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据.Key/value模型对于IT系统来说的优势在于简单.易部署.但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了. 举例如:Tokyo Cabinet/Tyrant, Redis, Voldemo

Redis源码分析(三十六)--- Redis中的11大优秀设计

坚持了一个月左右的时间,从最开始的对Redis的代码做分类,从struct结构体分析开始,到最后分析main主程序结束,中间,各大模块的代码逐个击破,学习,总之,收获了非常多,好久没有这么久的耐心把一个框架学透,学习一个框架,会用那只是小小的一部分,能把背后的原理吃透才是真功夫.在这个学习的最后阶段,是时候要来点干货了,我把这1个多月来的一些总结的一些比较好的代码,和设计思想总结出来了,原本想凑成10大精彩设计的,可后来感觉每个点都挺精彩的,还是做成了11大优秀设计,包证让你打开研究,这里无关语