redis 学习笔记

来源:互联网 发布:如何看网络棋牌频道 编辑:程序博客网 时间:2024/06/03 14:23


java_mail


JB

    redis-server --service-install redis.windows.conf

redis-server --service-start
    

    redis-server --service-stop


    slaveof host:port

    slaveof no one

     slowlog get 2


     ------------------------------
redis-benchmark -h 127.0.0.1 -p 52454 -t set,lpush -n 10000 -q

管道技术   应为一次性 输出   ,,,所以性能  更高


commons-logging.jar
spring-aop.jar
spring-core.jar
spring-context.jar
spring-beans.jar
spring-expression.jar
spring-web.jar
spring-tx.jar
aopalliance.jar
aspectjrt.jar
aspectjweaver.jar





set name  one   只能是单值

get name

HMSET name one two three  不能是重复  set  有问题  可能取值不同
HGETALL name



lpush lpush one
lpush lpush two
lpush lpush three  list


sadd sad one
sadd sad two
sadd sad three

smembers sad   set



zadd za 1 redis
zadd za 0 red     会排序

zrangebyscore 0 1000

del key
DUMP key
exists key
expire key 5
hdel name key

keys name*


select 0

move song 1   常识 即可



PERSIST name


randomkey


keys *

FLUSHDB   flusHdb


rename name nam
renamenx name pp   (存在时,失败)


     none (key不存在)
    string (字符串)
    list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)
    MSET  有序对
type




-----------
String
getRange name 0 3
getset name ok

getbit name 3 偏移量
MGET name pp
setbit name 2
setex name 60 redis
setNX name "job"

setRange name 6 redis
strlen name

MSETNX one "one" two "two"
incr age


incrby age 20
incrby name 20  档不存在是 自动·穿件
incrbyfloat 20.2


decr name
decrby name 2
append  name


---------------------
HASH
HDEL
HEXISTS name one
HGET name one    // two  放回后一个值
HGETALL name

HSET 数据可以叠加  但是必须要和 之前的数据一致  最少是两盒数据

HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER


HKEYS my  获取key   有点想map         HVALS my     一个是获取  key   一个是获取  value    
在redis 中  只有  zrangebyscore 0 1000    可以用数据来获取前面的 数据  
 其他都是前面 值 来获取后面的值   还有 list
HLEN my

HMGET my 1 6
HMSET my 1 p 2 p
HSETNX 1 ok
HSETNT my 1 ooo


------------
list

lpush name redis ok p
lrange name 0 10
blpop name 1
brpop name 1


brpoplpush name mm 1 取出最后一个  放在第一个前面
lindex name 2  通过索引 获取值
LPOP name

LPUSH name 100

LRANGE name  0 10

LREM name 2 1
LSET name 0 "one"
rtrim mylist  2 5
rpop name



rpoplpush name age    在数据中 l   表示  lift    r  表示   rigth      
rpush name 5


rpushx name 1 2


-----------------------------------

set
sadd age 1 2 3 4 5
scard age


sdiff name age


sdiffstore mystore  name age

smember mystore


sinter name age

sinterstore mystore name age

mystore 的数据会被清空
sismember age 4
smove age name 5
spop 出栈 push入栈

srandmember name 2


srem name 5


sunion name age
sunionstore mystore age name


sscan name 0 match h* count 2




----------------------------------------


sorted set


zadd name 1 echo
zadd name 2 if
zrange name0 100 withscore
zcard name


zcount name 2 3
zincrby name 2 "one"

 zinterstore mystore 2 min max

 redis 127.0.0.1:6379> ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
---------------------


ZLEXCOUNT myzset [b [f       [  有点像 转义\
ZLEXCOUNT myzset - +


zrange name 0 -1 withscores
ZRANGEBYLEX myzset - [c


ZRANGEBYLEX myzset - [c        [  <=       (  <  在什么区间
    
ZRANGEBYLEX myzset - (c    通过  字典来返回


ZRANGEBYSCORE zset (1 5
返回所有符合条件 1 < score <= 5 的成员,而    通过分数  来判断

ZRANGEBYSCORE salary -inf +inf

返回索引
zrank name echo



zrem name echo



zremrangebylex name [echo [string   默认找不到 ,只是删除当前的
 ZREMRANGEBYRANK key start stop
 ZREMRANGEBYSCORE key min max


ranke   range   score
0        echo    2000

ZREVRANGEBYSCORE salary +inf -inf

ZREVRANGEBYSCORE salary 10000 2000
ZREVRANGE key start stop [WITHSCORES]
zscore name string

ZUNIONSTORE salary 2 programmer manager WEIGHTS 1 3
 ZSCAN key cursor [MATCH pattern] [COUNT count]

 ---------------------------

Redis HyperLogLog 命令

1    PFADD key element [element ...]
添加指定元素到 HyperLogLog 中。
2    PFCOUNT key [key ...]                   (好像没有用)
返回给定 HyperLogLog 的基数估算值。
3    PFMERGE destkey sourcekey [sourcekey ...]
将多个 HyperLogLog 合并为一个 HyperLogLog


-----------------
redis   pub    sub

psubscribe mychannel                     ///PSUBSCRIBE pattern [pattern ...]

subscribe  redisChat

publish  redisChat "i love you  baby"



PUBSUB CHANNELS

PUBLISH channel message


PUNSUBSCRIBE mychannel   退订信息

SUBSCRIBE mychannel




psubscribe subscribe  

---------------------------
事务
multi

exec


discard
watch
unwatch
----------------
脚本

eval

EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second


return 直接发送文件

eval "return {KEYS[1],KEYS[2]}" 2 key1 key2  参数要用大写

EVAL "return {KEYS[1],KEYS[2]}" 2 key1 key2

eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

 EVAL script numkeys key [key ...] arg [arg ...]


 SCRIPT LOAD "return 'hello moto'"
 EVALSHA "232fd51614574cf0867b83d384a5e898cfd24e5a" 0


 script load "return 'hi babay'"


script exists 311323112313



scrpit flush    
script kill   ,当且仅当这个脚本没有执行过任何写操作时   才有用


--------------

config set requirepass "root"

auth rootecho ""i love you
ping

bgrewriteaof
bgsave


client kill ip:port



client list


client getname

client setname echo


client pause 1000

CLIENT PAUSE 1

CLUSTER SLOTS

command count

command getkeys

COMMAND GETKEYS MSET a b c d e f

--------------------------------------------------------------
--------------------------------------------------------------


config get appendonly

config set appendonly  yes

config rewrite

config rewrite

dbsize

debug object name

debug segfault
flushall

flushdb

lastsave

monitor


role


























































原创粉丝点击