当前位置: 移动技术网 > IT编程>数据库>MongoDB > redis基本操作

redis基本操作

2018年07月14日  | 移动技术网IT编程  | 我要评论

进入reids

redis-cli   

#不能进入,就安装:
sudo apt-get update
sudo apt-get install redis-server

exit        #退出
Select 命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。
#默认使用 0 号数据库   默认开16个库
SELECT 1     # 使用 1 号数据库,Redis 现在的命令提示符多了个 [1]

 

##redis五种数据类型、及操作

 

字符串 string
列表 list
哈希 hash
集合 set
有序集合 sorted sets(zset)

 

string

string 类型是 redis 最基本的类型, string 类型,一个 key 对应一个 value,一个 value 最大能存储512MB的数据。
  • set key value
    • 设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

    •  set name 'bear' 

  • get key

    • 返回key的值,若key不存在则返回nil

      mset key value [key value..]

    • 为多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败;

    • mset username 'root' password '123' name 'bear'

  • mget key [key...]

    • 返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil

    • mget username, password, name #有,号会被认为是key的一部分
      mget username password name

       

  • append key value
    • 将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度

    •  append name bear 

 

  • ttl key
    • 返回key的剩余生存时间, -1 表示永久存在, -2表示不存在

 

  • set key value ex seconds
    • 设置 key的同时,设置过期时间(单位:秒) key 过期后将不再可用,会被系统自动删除。

    • set age 18 ex 20    
      或 setex key seconds value 例: ( setex sex 20 '男' )

       

  • persist key

    • 移除指定key的生存时间,成功返回1,若key不存在或不存在生存时间时返回0;


 

###全局key操作

  • rename key newkey 改名
    • 当key和newkey相同或者key不存在时返回一个错误,当newkey已存在时则会覆盖;

    • keys *                  # 查看所有的key
      ​
      del key                 # 删除    返回成功的个数
      ​
      exists key              # 查看key是否存在  返回存在个个数
      ​
      type key                # 查看key类型
      ​
      expire key seconds      #设置过期时间 
         
      persist key             #移除过期时间
          
      flushdb                 #删除当前数据库中的所有key
      ​
      flushall                #删所有
      
      

 

list

 

列表的元素类型为string,
按照插入顺序排序
在列表的头部或者尾部添加元素
  • lpush key value[value...]

    • 在头部插入数据

    • lpush  key  value     #例  lpush my_list a b c d
    • 在尾部添加数据

    • rpush  key  value     #例  rpush my_rlist a b c d

 

  • lindex key index

    • 返回列表中元素的值。index从0开始,当index超出索引时返回null

    • lindex my_list 3    #查看第三个

  • lrange key start stop

    • 查看索引范围内元素的值

    • lrange my_list 0 -1     #查看所有值
  • llen key

    • 返回列表的长度

  • lset key index newvalue

    • 指定索引号进行修改

    •  lset my_list 0 'hello' 

  • 删除

    • lpop key 删除左边第一个

    • rpop my_list

    • rpop key 删除右边第一个

    • rpop my_list

    • lrem key count value

      • 删除指定数量的value值

      • rpush  test_list  c a a b b c  d e a d f m c
        ​
        #count > 0 从左往右 删除数量为count的value
        例 : lrem test_list 2 a
        lrange test_list 0 -1
        ​
        #count = 0 删除所有的 value
        例 : lrem test_list 0 d,              
        ​
        #count < 0 从右往左 删除数量为count的value
        例 : lrem test_list -2 c

hash

 

是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象
field 域
value 值

设置/修改

  • hset key field value

    • 将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖;

    • hset user name bear        #user { name:bear}
  • hmset key field1 value1[field value...]

    • 同时设置多个

    • # user {name:bear , age:18}
      hmset user name bear age 18 

 

查看

  • hget key field

    • 获取value

    •  hget user name 
  • hmget key field[field...]

    • 获取多个value

    •  hmget user name age 
  • hvals key

    • 获取全部value

  • hkeys key

    • 获取所有的field

  • hgetall key

    • 获取全部fieldvalue

  • hlen key

    • 查看有几个键值对

  • hexists key field

    • 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0;

删除

  • hdel key field

    • hdel user name

 


set​

 

 

元素为string类型
无序集合
元素具有唯一性,不重复 

 

  • sadd key member [member...] 增加元素

    • 将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素,

    •  sadd my_set m n b v c x z b 

  • scard key

    • 返回集合key中元素的个数;

  • smembers key

    • 获取集合中所有元素

 

  • sismember key member 判断集合存在某个值

    • 判断member在key中是否已存在, 返回0或1

    •  sismember my_set b 

 

  • 删除

    • srem key member [member...]

      • 移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数

      •  srem my_set a b n  
    • spop key 随机删除

      • 移除并返回集合中的一个随机元素,当key不存在时返回NULL

  • 交集

    # sinter key1 key2 ..
    例
    sinter my_set my_set2

    把 key1 key2的交集合并到newkey

    # sinterstore newkey key1 key2
    例
    sinterstore  new_set my_set my_set2
  • 并集

    # sunion key1 key2 ...
    例
    sunion my_set my_set2
     

    把 key1 key2的并集合并到newkey

    # sunionstore newkey key1 key2
    例
    sunionstore new_set2 my_set my_set2

     

  • 差集

    # sdiff key1 key2
    sdiff my_set my_set2

     

    把 key1 key2的差集合并到newkey

    # sdiffstore newkey key1 key2
    例
    sdiffstore new_set3 my_set my_set2

     


 

zset

 

类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。
zset的成员是唯一的,但分数(score)却可以重复。

添加/修改

  • zadd key score member[ [score member] ..]

    • 设置, 存在就更新

    • zadd  my_zset 1 'one'
      zadd  my_zset 2 'tow'
      ​
      zadd  my_zset 10 one 20 two 30 three 40 four 50 'five'

查看

  • zscore key member

    • 查看score值

       zscore my_zset two 

  • zrange key start stop[withscores]

    • 按索引返回key的成员, withscores表示显示score

    •  zrange my_zset 0 -1 #显示全部 
  • zrangebyscore key min max

    • 返回集合中 score 在给定区间的元素

    •  zrangebyscore zset 10 30 

删除

  • zrem key member [member...]

    • 移除有序集合中的一个或多个元素,若member不存在则忽略;

    •  zrem my_zset two  

  • zremrangebyrank min max :

    • 删除集合中索引在给定区间的元素

    zremrangebyrank my_zset 1 3
  • zremrangebyscore min max :

    • 删除集合中 score 在给定区间的元素

    zremrangebyscore my_zset 10 30

 

redis配置

 

vim /etc/redis/redis.conf    #配置文件地址

port 6379                     # 默认端口    
logfile /var/log/redis.log      # 日志文件位置    
dbfilename dump.rdb         # RDB持久化数据文件名 ,  
dir /var/lib/redis            #指定本地数据库存放目录
bind 0.0.0.0                # 指定IP进行监听   

requirepass  yourpassword    #密码
    
save 900 1                #这三个是持久化,注释掉就关掉持久化
save 300 10
save 60 10000

启动/停止/重启命令

/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart

设置密码

config get requirepass        //获取当前密码
    #默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务
    
进入配置文件
    vim /etc/redis/redis.conf  
找到requirepass 设置密码
    vim 查找 /requirepass  按n查找下一个
    requirepass  yourpassword  //此处注意,行前不能有空格
重启redis
    redis-cli shutdown

进入在添加    auth 123456
登陆的时候加上密码 redis-cli -a 123456

 

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网