ゼロからRedisのサービスを構築します

序文

Redisのサービスを構築する際に自身の出会いはいくつかの問題は、多くの人がどれだけ成功を構築することを教えてくれ、その過程で遭遇なし仕上げの問題が存在しない、すべての家主は、次を整理するために少し時間を過ごしました。

  • Linux環境では、Redisのインストール
  • インストール遭遇した問題と解決策
  • インストールされたコードのRedisを使用する方法
  • ユーザー名とパスワード
  • アプリケーションプログラムの問題点

入門

Redisのキーと値のストレージシステムです。ハッシュ(ハッシュタイプ) - とMemcachedのは、同様に、それは文字列(文字列)、リスト(一覧)、SET(セット)、ZSET(順序集合ソートセット)を含む、比較的保存された値の型をサポートしています。これらのデータ型は、追加/削除して、交差点や労働組合、その差よりリッチな操作で、プッシュ/ポップをサポートされており、これらの操作はアトミックです。これに基づき、Redisのは、並べ替えの異なるさまざまな方法をサポートしています。memcachedのと同じように、効率性を確保するために、データはメモリにキャッシュされています。Redisの差は、定期的にディスクに書き込まれたデータで更新されたり、追加のログファイルを書き込む動作を変更するために、そしてこれに基づいてマスタースレーブ(マスタとスレーブ)の同期を実現します。

Redisのは、キーと値の高性能データベースです。Redisのは、このようなmemcachedのキー/値ストアの不足を補うため、それはいくつかの状況では、リレーショナルデータベースに非常に良い補数を再生することができます大きく、表示されます。これは、Java、C / C ++、C#の、PHPやJavaScript、Perlやオブジェクト-C、Pythonの、ルビー、アーランと他のクライアント、非常に使いやすいを提供します。

まず、Redisのインストール

1、インストールパッケージをダウンロードしてください

  1. CD / WWW / Redisの/ 
  2. wgetのhttp://download.redis.io/releases/redis-4.0.8.tar.gz 
  3. Redisの-4.0.8.tar.gz -zxvf取り 
  4. MVのRedis-4.0.8のRedisの 

2、Redisのコンパイル

  1. CD / WWW / Redisの/ Redisの/ 
  2. MALLOC =のlibcを作ります 
  3. PREFIX =は/ usr /作るローカル/ Redisのインストール 

図3に示すように、プロファイルを準備

  1. CDは/ usr / ローカル/ Redisの 
  2. mkdir CONF 
  3. confにCD / 
  4. 力redis_6379.conf 

設定ファイルを次のように

  1. バインド127.0.0.1 
  2. プロテクトモード  なし 
  3. ポート6379 
  4. TCP-バックログ511 
  5. タイムアウト0 
  6. TCPキープアライブ300 
  7. はいデーモン化 
  8. 監督  なし 
  9. pidファイル/www/redis/data/redis/6379/redis_6379.pid 
  10. ログレベルの通知 
  11. ログファイル  「/www/redis/data/redis/6379/log.log」 
  12. データベース16 
  13. 常にショーのロゴはい 
  14. 900 1を保存 
  15. 300 10を保存 
  16. セーブ60 10000 
  17. ストップwrites- オンbgsaveエラーはい 
  18. はいrdbcompression 
  19. はいrdbchecksum 
  20. dbfilename dump.rdb 
  21. DIR / WWW / Redisの/データ/ Redisの/ 6379 / 
  22. スレーブ・サーブ・古くなったデータをはい 
  23. slave- 読み取りのみはい 
  24. REPL-ディスクレス同期  なし 
  25. REPL-ディスクレス同期遅延5 
  26. REPL-無効-TCP-NODELAY  なし 
  27. スレーブ優先度100 
  28. lazyfree-レイジー立ち退き  なし 
  29. lazyfree-怠惰、有効期限が切れ  ていません 
  30. lazyfree-レイジーサーバデル  なし 
  31. スレーブ怠惰、フラッシュ  なし 
  32. appendonlyはい 
  33. appendfilename  "appendonly.aof" 
  34. appendfsync everysec 
  35. 無appendfsync-ない上、書き換え  なし 
  36. 自動AOF-書き換え割合100 
  37. 自動AOF-rewrite- 最小- サイズ64メガバイト 
  38. aof- 負荷切り捨てはい 
  39. AOF-使用-RDB-プリアンブル  なし 
  40. lua- 制限時間5000 
  41. slowlog-ログ遅く-10000 
  42. slowlog- MAX-のみ128 
  43. レイテンシー・モニターしきい値0 
  44. ・鍵空間-イベントを通知  「」 
  45. ハッシュ・MAX-ziplist-エントリ512 
  46. ハッシュ・MAX-ziplist値64 

4、サービスを開始

  1. ます。mkdir -p / WWW / Redisの/データ/ Redisの/ 6379 / 
  2. CDの../bin/ 
  3. ./redis-server ../conf/redis_6379.conf 

5、クライアントのリンクを使用して

  1. ./redis-cli 

正常に起動するかどうかを判断し

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

6、

データを表示

  1. キー* 

[設定]

  1. 設定のOneKeyテスト 

値を取得します。

  1. OneKeyを取得 
あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

第二に、問題が発生し、インストールソリューション

一つの問題:

  1. WARNING:TCPバックログ設定  511のが原因では、/ proc / sys / net /コア/ SOMAXCONNが強制することはできません  されて  セット  に  低い値  128の。 

一時的な解決策:

  1. 511>は、/ proc / sys / net /コア/ SOMAXCONNエコー 

恒久的な解決策

  1. 私たちは、/etc/sysctl.confの 
あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

その後、永久にこの警告を解消するにsysctl -pを実行している1024 = net.core.somaxconnを追加

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

質問2:

  1. WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 
あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

可以参考问题一的解决

问题三:

  1. WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled 
あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

执行命令echo never>/sys/kernel/mm/transparent hugepage/enabled

永久解决添加配置文件即可

  1. vi /etc/rc.local 

三、怎么在代码中使用安装的redis呢

需要引用的jar包有

  1. commons-pool-1.6.jar 
  2. jedis-2.9.0.jar 

示例代码

  1. public static void main(String[] args) { 
  2.  //创建redis对象 
  3.  String ip = ""; 
  4.  Jedis jedis=new Jedis(ip,6379);//链接redis 
  5.  //记录操作个数 
  6.  jedis.set("name", "小明"); 
  7.  System.out.println("name已经赋值"); 
  8.  String name = jedis.get("name"); 
  9.  System.out.println("赋值后获取name的值为:"+name); 
  10.  jedis.del("name"); 
  11.  System.out.println("name已经删除"); 
  12.  String nameT = jedis.get("name"); 
  13.  System.out.println("删除后获取name的值为:"+nameT);  
  14.  } 
  15. //结果 
  16. name已经赋值 
  17. 赋值后获取name的值为:小明 
  18. name已经删除 
  19. 删除后获取name的值为:null 

四、设置用户名和密码

1、在配置文件中redis_6379.conf直接添加requirepass 123456

2、通过命令添加

设置密码

  1. #设置密码 
  2. config set requirepass 123456 
あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

查看密码

  1. config get requirepass 

需要验证密码以后才可以查看

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

测试代码

  1.  public static void main(String[] args) { 
  2.  //创建redis对象 
  3.  String ip = ""; 
  4.  Jedis jedis=new Jedis(ip,6379);//链接redis 
  5.  jedis.auth("123456"); 
  6.  //记录操作个数 
  7.  jedis.set("name", "小明"); 
  8.  System.out.println("name已经赋值"); 
  9.  String name = jedis.get("name"); 
  10.  System.out.println("赋值后获取name的值为:"+name); 
  11.  jedis.del("name"); 
  12.  System.out.println("name已经删除"); 
  13.  文字列nameT = jedis.get("名前"); 
  14.  。システムout.printlnを(「値を削除した後、名前を得る:」+ nameT)。 
  15.   
  16.  } 
  17.  #結果 
  18. 名前が割り当てられています 
  19. 取得した後、割り当て名の値は次のとおりです。暁明 
  20. 名前が削除されました 
  21. 削除取得した後の名前値:nullの 

第五に、アプリケーションで問題が発生しました

リンクが拒否または回問題アウトされます

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

デフォルトのIPアドレスとポート127.0.0.1:6379を設定するには、開始IP Redisのは、IPローカルサービスにのみリンクすることができます。ソリューション:

設定ファイルでは、このIPはコメントします

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

クラウドアリにセキュリティグループの設定

コンフィギュレーションファイルおよびセキュリティグループを変更した後、あなたはアリクラウドサービスによる外部ネットワークのIPとポートのRedisにアクセスすることができます。

しかし、その後、また、保護モードへのアクセスを拒否、問題を報告

あなたがゼロのRedisからサービスを構築する方法を教え、「提案コレクション」

ノープロパティプロテクトモードredis_6379.conf設定ファイルを変更するプロンプトに従って、サービスを再起動します

テストコードは、再び〜正しく接続します

[エディタ]

おすすめ

転載: www.cnblogs.com/gucb/p/11411049.html